From 8752126bffa7ba7673192a4b634d197511935a37 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 21 Jan 2025 22:11:16 +0000 Subject: [PATCH] deploy: 661aa5cff271dcf98b85ee30d1767bed6c7d5346 --- api-reference-docs/models.html | 5 ++++- api-reference-docs/searchindex.js | 2 +- search-index.json | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/api-reference-docs/models.html b/api-reference-docs/models.html index d35b21d0..c30bd5e9 100644 --- a/api-reference-docs/models.html +++ b/api-reference-docs/models.html @@ -199,7 +199,10 @@
Client for accessing the Groundlight cloud service. Provides methods to create visual detectors, submit images for analysis, and retrieve predictions.
-The API token (auth) is specified through the GROUNDLIGHT_API_TOKEN environment variable by default.
+The API token (auth) is specified through the GROUNDLIGHT_API_TOKEN environment variable by +default. +If you are using a Groundlight Edge device, you can specify the endpoint through the +GROUNDLIGHT_ENDPOINT environment variable.
Example usage:
gl = Groundlight()
detector = gl.get_or_create_detector(
diff --git a/api-reference-docs/searchindex.js b/api-reference-docs/searchindex.js
index 99b89074..1f930006 100644
--- a/api-reference-docs/searchindex.js
+++ b/api-reference-docs/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"API Response Objects": [[1, "api-response-objects"]], "Contents:": [[0, null]], "SDK Client": [[1, "sdk-client"]], "Welcome to Groundlight Python SDK\u2019s documentation!": [[0, "welcome-to-groundlight-python-sdk-s-documentation"]]}, "docnames": ["index", "models"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["index.rst", "models.rst"], "indexentries": {"__init__() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.__init__", false]], "__init__() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.__init__", false]], "action (model.rule attribute)": [[1, "model.Rule.action", false]], "add_label() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.add_label", false]], "ask_async() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.ask_async", false]], "ask_confident() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.ask_confident", false]], "ask_ml() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.ask_ml", false]], "condition (model.rule attribute)": [[1, "model.Rule.condition", false]], "confidence_threshold (model.detector attribute)": [[1, "model.Detector.confidence_threshold", false]], "confidence_threshold (model.imagequery attribute)": [[1, "model.ImageQuery.confidence_threshold", false]], "count (model.paginateddetectorlist attribute)": [[1, "model.PaginatedDetectorList.count", false]], "count (model.paginatedimagequerylist attribute)": [[1, "model.PaginatedImageQueryList.count", false]], "count (model.paginatedrulelist attribute)": [[1, "model.PaginatedRuleList.count", false]], "create_alert() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.create_alert", false]], "create_counting_detector() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.create_counting_detector", false]], "create_detector() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.create_detector", false]], "create_detector_group() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.create_detector_group", false]], "create_multiclass_detector() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.create_multiclass_detector", false]], "create_note() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.create_note", false]], "create_roi() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.create_roi", false]], "create_rule() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.create_rule", false]], "created_at (model.detector attribute)": [[1, "model.Detector.created_at", false]], "created_at (model.imagequery attribute)": [[1, "model.ImageQuery.created_at", false]], "delete_all_rules() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.delete_all_rules", false]], "delete_rule() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.delete_rule", false]], "detector_id (model.imagequery attribute)": [[1, "model.ImageQuery.detector_id", false]], "detector_id (model.rule attribute)": [[1, "model.Rule.detector_id", false]], "detector_name (model.rule attribute)": [[1, "model.Rule.detector_name", false]], "enabled (model.rule attribute)": [[1, "model.Rule.enabled", false]], "escalation_type (model.detector attribute)": [[1, "model.Detector.escalation_type", false]], "experimentalapi (class in groundlight)": [[1, "groundlight.ExperimentalApi", false]], "get_detector() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.get_detector", false]], "get_detector_by_name() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.get_detector_by_name", false]], "get_image() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.get_image", false]], "get_image_query() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.get_image_query", false]], "get_notes() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.get_notes", false]], "get_or_create_detector() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.get_or_create_detector", false]], "get_rule() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.get_rule", false]], "groundlight (class in groundlight)": [[1, "groundlight.Groundlight", false]], "group_name (model.detector attribute)": [[1, "model.Detector.group_name", false]], "human_review_required (model.rule attribute)": [[1, "model.Rule.human_review_required", false]], "id (model.detector attribute)": [[1, "model.Detector.id", false]], "id (model.imagequery attribute)": [[1, "model.ImageQuery.id", false]], "id (model.rule attribute)": [[1, "model.Rule.id", false]], "list_detector_groups() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.list_detector_groups", false]], "list_detectors() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.list_detectors", false]], "list_image_queries() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.list_image_queries", false]], "list_rules() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.list_rules", false]], "make_action() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.make_action", false]], "make_condition() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.make_condition", false]], "metadata (model.detector attribute)": [[1, "model.Detector.metadata", false]], "metadata (model.imagequery attribute)": [[1, "model.ImageQuery.metadata", false]], "mode (model.detector attribute)": [[1, "model.Detector.mode", false]], "mode_configuration (model.detector attribute)": [[1, "model.Detector.mode_configuration", false]], "name (model.detector attribute)": [[1, "model.Detector.name", false]], "name (model.rule attribute)": [[1, "model.Rule.name", false]], "next (model.paginateddetectorlist attribute)": [[1, "model.PaginatedDetectorList.next", false]], "next (model.paginatedimagequerylist attribute)": [[1, "model.PaginatedImageQueryList.next", false]], "next (model.paginatedrulelist attribute)": [[1, "model.PaginatedRuleList.next", false]], "patience_time (model.detector attribute)": [[1, "model.Detector.patience_time", false]], "patience_time (model.imagequery attribute)": [[1, "model.ImageQuery.patience_time", false]], "previous (model.paginateddetectorlist attribute)": [[1, "model.PaginatedDetectorList.previous", false]], "previous (model.paginatedimagequerylist attribute)": [[1, "model.PaginatedImageQueryList.previous", false]], "previous (model.paginatedrulelist attribute)": [[1, "model.PaginatedRuleList.previous", false]], "query (model.detector attribute)": [[1, "model.Detector.query", false]], "query (model.imagequery attribute)": [[1, "model.ImageQuery.query", false]], "reset_detector() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.reset_detector", false]], "result (model.imagequery attribute)": [[1, "model.ImageQuery.result", false]], "result_type (model.imagequery attribute)": [[1, "model.ImageQuery.result_type", false]], "results (model.paginateddetectorlist attribute)": [[1, "model.PaginatedDetectorList.results", false]], "results (model.paginatedimagequerylist attribute)": [[1, "model.PaginatedImageQueryList.results", false]], "results (model.paginatedrulelist attribute)": [[1, "model.PaginatedRuleList.results", false]], "rois (model.imagequery attribute)": [[1, "model.ImageQuery.rois", false]], "snooze_time_enabled (model.rule attribute)": [[1, "model.Rule.snooze_time_enabled", false]], "snooze_time_unit (model.rule attribute)": [[1, "model.Rule.snooze_time_unit", false]], "snooze_time_value (model.rule attribute)": [[1, "model.Rule.snooze_time_value", false]], "start_inspection() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.start_inspection", false]], "status (model.detector attribute)": [[1, "model.Detector.status", false]], "stop_inspection() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.stop_inspection", false]], "submit_image_query() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.submit_image_query", false]], "text (model.imagequery attribute)": [[1, "model.ImageQuery.text", false]], "type (model.detector attribute)": [[1, "model.Detector.type", false]], "type (model.imagequery attribute)": [[1, "model.ImageQuery.type", false]], "update_detector_confidence_threshold() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.update_detector_confidence_threshold", false]], "update_detector_escalation_type() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.update_detector_escalation_type", false]], "update_detector_name() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.update_detector_name", false]], "update_detector_status() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.update_detector_status", false]], "update_inspection_metadata() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.update_inspection_metadata", false]], "wait_for_confident_result() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.wait_for_confident_result", false]], "wait_for_ml_result() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.wait_for_ml_result", false]], "whoami() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.whoami", false]]}, "objects": {"groundlight": [[1, 0, 1, "", "ExperimentalApi"], [1, 0, 1, "", "Groundlight"]], "groundlight.ExperimentalApi": [[1, 1, 1, "", "__init__"], [1, 1, 1, "", "create_alert"], [1, 1, 1, "", "create_counting_detector"], [1, 1, 1, "", "create_detector_group"], [1, 1, 1, "", "create_multiclass_detector"], [1, 1, 1, "", "create_note"], [1, 1, 1, "", "create_roi"], [1, 1, 1, "", "create_rule"], [1, 1, 1, "", "delete_all_rules"], [1, 1, 1, "", "delete_rule"], [1, 1, 1, "", "get_image"], [1, 1, 1, "", "get_notes"], [1, 1, 1, "", "get_rule"], [1, 1, 1, "", "list_detector_groups"], [1, 1, 1, "", "list_rules"], [1, 1, 1, "", "make_action"], [1, 1, 1, "", "make_condition"], [1, 1, 1, "", "reset_detector"], [1, 1, 1, "", "update_detector_escalation_type"], [1, 1, 1, "", "update_detector_name"], [1, 1, 1, "", "update_detector_status"]], "groundlight.Groundlight": [[1, 1, 1, "", "__init__"], [1, 1, 1, "", "add_label"], [1, 1, 1, "", "ask_async"], [1, 1, 1, "", "ask_confident"], [1, 1, 1, "", "ask_ml"], [1, 1, 1, "", "create_detector"], [1, 1, 1, "", "get_detector"], [1, 1, 1, "", "get_detector_by_name"], [1, 1, 1, "", "get_image_query"], [1, 1, 1, "", "get_or_create_detector"], [1, 1, 1, "", "list_detectors"], [1, 1, 1, "", "list_image_queries"], [1, 1, 1, "", "start_inspection"], [1, 1, 1, "", "stop_inspection"], [1, 1, 1, "", "submit_image_query"], [1, 1, 1, "", "update_detector_confidence_threshold"], [1, 1, 1, "", "update_inspection_metadata"], [1, 1, 1, "", "wait_for_confident_result"], [1, 1, 1, "", "wait_for_ml_result"], [1, 1, 1, "", "whoami"]], "model": [[1, 2, 1, "", "Detector"], [1, 2, 1, "", "ImageQuery"], [1, 2, 1, "", "PaginatedDetectorList"], [1, 2, 1, "", "PaginatedImageQueryList"], [1, 2, 1, "", "PaginatedRuleList"], [1, 2, 1, "", "Rule"]], "model.Detector": [[1, 3, 1, "", "confidence_threshold"], [1, 3, 1, "", "created_at"], [1, 3, 1, "", "escalation_type"], [1, 3, 1, "", "group_name"], [1, 3, 1, "", "id"], [1, 3, 1, "", "metadata"], [1, 3, 1, "", "mode"], [1, 3, 1, "", "mode_configuration"], [1, 3, 1, "", "name"], [1, 3, 1, "", "patience_time"], [1, 3, 1, "", "query"], [1, 3, 1, "", "status"], [1, 3, 1, "", "type"]], "model.ImageQuery": [[1, 3, 1, "", "confidence_threshold"], [1, 3, 1, "", "created_at"], [1, 3, 1, "", "detector_id"], [1, 3, 1, "", "id"], [1, 3, 1, "", "metadata"], [1, 3, 1, "", "patience_time"], [1, 3, 1, "", "query"], [1, 3, 1, "", "result"], [1, 3, 1, "", "result_type"], [1, 3, 1, "", "rois"], [1, 3, 1, "", "text"], [1, 3, 1, "", "type"]], "model.PaginatedDetectorList": [[1, 3, 1, "", "count"], [1, 3, 1, "", "next"], [1, 3, 1, "", "previous"], [1, 3, 1, "", "results"]], "model.PaginatedImageQueryList": [[1, 3, 1, "", "count"], [1, 3, 1, "", "next"], [1, 3, 1, "", "previous"], [1, 3, 1, "", "results"]], "model.PaginatedRuleList": [[1, 3, 1, "", "count"], [1, 3, 1, "", "next"], [1, 3, 1, "", "previous"], [1, 3, 1, "", "results"]], "model.Rule": [[1, 3, 1, "", "action"], [1, 3, 1, "", "condition"], [1, 3, 1, "", "detector_id"], [1, 3, 1, "", "detector_name"], [1, 3, 1, "", "enabled"], [1, 3, 1, "", "human_review_required"], [1, 3, 1, "", "id"], [1, 3, 1, "", "name"], [1, 3, 1, "", "snooze_time_enabled"], [1, 3, 1, "", "snooze_time_unit"], [1, 3, 1, "", "snooze_time_value"]]}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "method", "Python method"], "2": ["py", "pydantic_model", "Python model"], "3": ["py", "pydantic_field", "Python field"]}, "objtypes": {"0": "py:class", "1": "py:method", "2": "py:pydantic_model", "3": "py:pydantic_field"}, "terms": {"": 1, "0": 1, "00": 1, "00z": 1, "01": 1, "01t12": 1, "1": 1, "10": 1, "100": 1, "123": 1, "1234567890": 1, "1kb": 1, "2": 1, "200": 1, "2023": 1, "255": 1, "3": 1, "30": 1, "3600": 1, "4": 1, "44": 1, "5": 1, "50": 1, "60": 1, "8": 1, "9": 1, "95": 1, "98": 1, "A": 1, "At": 1, "For": [0, 1], "If": 1, "It": 1, "NO": 1, "No": 1, "ON": 1, "One": 1, "The": 1, "To": 1, "With": 1, "__init__": 1, "about": 1, "abov": 1, "accept": 1, "access": 1, "account": 1, "accuraci": 1, "action": 1, "action1": 1, "action2": 1, "action_id": 1, "actionlist": 1, "activ": 1, "add": 1, "add_label": 1, "addit": 1, "addition": 1, "address": 1, "advanc": 1, "affect": 1, "ahead": 1, "ai": 1, "ajar": 1, "alert": 1, "alert_on": 1, "algorithm": 1, "all": 1, "allow": 1, "alreadi": 1, "also": 1, "altern": 1, "alwai": 1, "an": 1, "analysi": 1, "analyt": 1, "ani": 1, "annot": 1, "answer": 1, "answered_consecut": 1, "answered_within_tim": 1, "anyof": 1, "anyurl": 1, "api": 0, "api_token": 1, "apitokenerror": 1, "ar": 1, "area": 1, "arrai": 1, "arriv": 1, "ask_async": 1, "ask_confid": 1, "ask_ml": 1, "assign": 1, "associ": 1, "async": 1, "asynchron": 1, "attach": 1, "attempt": 1, "auth": 1, "authent": 1, "autom": 1, "automat": 1, "avail": 1, "back": 1, "base": 1, "basic": 1, "bboxgeometri": 1, "befor": 1, "below": 1, "between": 1, "bgr": 1, "binari": 1, "binary_classif": 1, "binaryclassificationresult": 1, "blankenum": 1, "block": 1, "bool": 1, "boolean": 1, "both": 1, "bottom": 1, "bottom_right": 1, "bound": 1, "box": 1, "bufferedread": 1, "build": 1, "byte": 1, "bytesio": 1, "call": 1, "cam1": 1, "camera": 1, "camera_id": 1, "can": 1, "cannot": 1, "car": 1, "categori": 1, "caution": 1, "certain": 1, "certif": 1, "chang": 1, "changed_to": 1, "channel": 1, "channelenum": 1, "check": 1, "class": 1, "class_nam": 1, "classif": 1, "classifi": 1, "client": 0, "cloud": 1, "cloud_ensembl": 1, "code": 0, "collect": 1, "color": 1, "color_bgr2rgb": 1, "com": 1, "compani": 1, "comput": 1, "condit": 1, "condition_paramet": 1, "confid": 1, "confidence_threshold": 1, "config": 1, "configur": 1, "confirm": 1, "confloat": 1, "conint": 1, "connect": 1, "consecut": 1, "constr": 1, "constraint": 1, "construct": 1, "contain": 1, "content": 1, "control": 1, "conveni": 1, "convert": 1, "coordin": 1, "core": 1, "corner": 1, "correct": 1, "correctli": 1, "correspond": 1, "cost": 1, "couch": 1, "could": 1, "count": 1, "counter": 1, "countingresult": 1, "creat": 1, "create_alert": 1, "create_counting_detector": 1, "create_detector": 1, "create_detector_group": 1, "create_multiclass_detector": 1, "create_not": 1, "create_roi": 1, "create_rul": 1, "created_at": 1, "current": 1, "custom": 1, "cv2": 1, "cvtcolor": 1, "dai": 1, "data": 1, "date": 1, "datetim": 1, "def": 1, "default": 1, "defin": 1, "delet": 1, "delete_all_rul": 1, "delete_rul": 1, "depend": 1, "descript": 1, "det": 1, "det_": 1, "det_123": 1, "det_12345": 1, "det_abc123": 1, "det_idher": 1, "detail": [0, 1], "detect": 1, "detector": [0, 1], "detector_group": 1, "detector_id": 1, "detector_nam": 1, "detectorgroup": 1, "detectortypeenum": 1, "develop": 1, "dict": 1, "dictionari": 1, "differ": 1, "dimens": 1, "directli": 1, "disabl": 1, "disable_tls_verif": 1, "disable_tls_verifi": 1, "doesn": 1, "dog": 1, "don": 1, "door": 1, "door_detector": 1, "door_group": 1, "door_open_detector": 1, "door_roi": 1, "durat": 1, "e": 1, "each": 1, "edg": 1, "effect": 1, "either": 1, "els": 1, "email": 1, "emit": 1, "enabl": 1, "encod": 1, "endpoint": 1, "entranc": 1, "enum": 1, "environ": 1, "equival": 1, "error": 1, "escal": 1, "escalation_typ": 1, "escalationtypeenum": 1, "etc": 1, "evalu": 1, "even": 1, "exampl": 1, "except": 1, "exist": 1, "experiment": 1, "experimentalapi": [0, 1], "exponenti": 1, "extend": 1, "extern": 1, "f": 1, "fail": 1, "fall": 1, "fals": 1, "faster": 1, "featur": 1, "field": 1, "file": 1, "filenam": 1, "find": 1, "first": 1, "float": 1, "format": 1, "found": 1, "fresh": 1, "from": 1, "frombuff": 1, "front": 1, "front_door": 1, "function": 1, "futur": 1, "g": 1, "ge": 1, "gener": 1, "geometri": 1, "get": 1, "get_detector": 1, "get_detector_by_nam": 1, "get_imag": 1, "get_image_queri": 1, "get_not": 1, "get_or_create_detector": 1, "get_rul": 1, "github": 0, "given": 1, "gl": 1, "got": 1, "greater": 1, "greater_than_max": 1, "green": 1, "ground": 1, "groundlight": 1, "groundlight_api_token": 1, "groundlightclienterror": 1, "group": 1, "group_nam": 1, "h": 1, "ha": 1, "handl": 1, "have": 1, "height": 1, "help": 1, "high": 1, "higher": 1, "hour": 1, "how": 1, "hq": 1, "http": 1, "human": 1, "human_review": 1, "human_review_requir": 1, "i": 1, "id": 1, "identifi": 1, "imag": 1, "image_byt": 1, "image_data": 1, "image_queri": 1, "image_query_id": 1, "image_rgb": 1, "imagequeri": [0, 1], "imagequerytypeenum": 1, "imdecod": 1, "img": 1, "immedi": 1, "import": 1, "improv": 1, "imread_color": 1, "includ": 1, "include_imag": 1, "index": 1, "indic": 1, "info": 1, "inform": 1, "initi": 1, "inspect": 1, "inspection_id": 1, "instanc": 1, "instanti": 1, "instead": 1, "int": 1, "integ": 1, "intend": 1, "interest": 1, "intern": 1, "invalid": 1, "io": 1, "iq": 1, "iq_": 1, "iq_123": 1, "iq_abc123": 1, "iq_id": 1, "issu": 1, "item": 1, "iter": 1, "its": 1, "jpeg": 1, "jpg": 1, "json": 1, "keep": 1, "kei": 1, "label": 1, "later": 1, "le": 1, "learn": 1, "left": 1, "leftmost": 1, "level": 1, "librari": 1, "light": 1, "like": 1, "limit": 1, "link": 1, "list": 1, "list_detector": 1, "list_detector_group": 1, "list_image_queri": 1, "list_rul": 1, "locat": 1, "long": 1, "longer": 1, "look": 1, "lot": 1, "low": 1, "mai": 1, "maintain": 1, "make_act": 1, "make_condit": 1, "mandatori": 1, "mani": 1, "map": 1, "match": 1, "max": 1, "max_count": 1, "max_length": 1, "maximum": 1, "maxlength": 1, "messag": 1, "met": 1, "metadata": 1, "method": 1, "min": 1, "minimum": 1, "minlength": 1, "minut": 1, "mismatch": 1, "mixin": 1, "ml": 1, "mode": 1, "mode_configur": 1, "modeenum": 1, "model": 1, "modifi": 1, "monitor": 1, "more": 1, "most": 1, "motion": 1, "motion_detector": 1, "multi": 1, "multi_class": 1, "multi_classif": 1, "multiclass": 1, "multiclassificationresult": 1, "multipl": 1, "must": 1, "my_detector": 1, "n": 1, "name": 1, "navig": 1, "necessari": 1, "need": 1, "network": 1, "never": 1, "new": 1, "new_detector_nam": 1, "newli": 1, "next": 1, "next_pag": 1, "no_chang": 1, "no_human_label": 1, "no_queri": 1, "none": 1, "normal": 1, "note": 1, "notif": 1, "np": 1, "nparr": 1, "null": 1, "num_class": 1, "num_consecutive_label": 1, "num_delet": 1, "number": 1, "numpi": 1, "object": 0, "occur": 1, "off": 1, "omit": 1, "one": 1, "onli": 1, "open": 1, "opencv": 1, "oper": 1, "option": 1, "order": 1, "org": 1, "organ": 1, "other": 1, "otherwis": 1, "out": 1, "output": 1, "over": 1, "page": 1, "page_s": 1, "pagin": 1, "paginateddetectorlist": [0, 1], "paginatedimagequerylist": [0, 1], "paginatedrulelist": [0, 1], "pair": 1, "paramet": 1, "park": 1, "part": 1, "particular": 1, "particularli": 1, "pass": 1, "path": 1, "patienc": 1, "patience_tim": 1, "peopl": 1, "people_count": 1, "per": 1, "period": 1, "person": 1, "phone": 1, "pil": 1, "pipelin": 1, "pipeline_config": 1, "pixel": 1, "place": 1, "pleas": 1, "poll": 1, "possibl": 1, "predict": 1, "prevent": 1, "previou": 1, "previous": 1, "print": 1, "priorit": 1, "pro": 1, "proccess": 1, "process": 1, "properti": 1, "provid": 1, "public": 1, "purpos": 1, "pydant": 1, "qualiti": 1, "queri": 1, "question": 1, "quick": 1, "rais": 1, "random": 1, "rather": 1, "re": 1, "reach": 1, "read": 1, "readi": 1, "receiv": 1, "recipi": 1, "red": 1, "ref": 1, "region": 1, "relat": 1, "releas": 1, "remov": 1, "repeat": 1, "report": 1, "repositori": 0, "repres": 1, "request": 1, "requir": 1, "reset": 1, "reset_detector": 1, "respons": 0, "result": 1, "result_typ": 1, "resulttypeenum": 1, "retail": 1, "retriev": 1, "return": 1, "revers": 1, "review": 1, "rgb": 1, "right": 1, "roi": 1, "rule": [0, 1], "rule_nam": 1, "schema": 1, "score": 1, "second": 1, "secur": 1, "self": 1, "send": 1, "sent": 1, "serial": 1, "serv": 1, "server": 1, "servic": 1, "set": 1, "sever": 1, "short": 1, "should": 1, "show": 1, "side": 1, "sign": 1, "signific": 1, "simpler": 1, "sinc": 1, "slightli": 1, "sm": 1, "snooz": 1, "snooze_time_en": 1, "snooze_time_unit": 1, "snooze_time_valu": 1, "snoozetimeunitenum": 1, "soft": 1, "sourc": [0, 1], "space": 1, "spam": 1, "spec": 1, "specif": 1, "specifi": 1, "ssl": 1, "standard": 1, "start": 1, "start_inspect": 1, "state": 1, "statu": 1, "statusenum": 1, "still": 1, "still_process": 1, "stop": 1, "stop_inspect": 1, "store": 1, "str": 1, "strictbasemodel": 1, "string": 1, "stronger": 1, "submiss": 1, "submit": 1, "submit_image_queri": 1, "successfulli": 1, "support": 1, "synchron": 1, "system": 1, "t": 1, "text": 1, "than": 1, "thi": 1, "threshold": 1, "through": 1, "tier": 1, "time": 1, "time_unit": 1, "time_valu": 1, "timeout": 1, "timeout_sec": 1, "timeouterror": 1, "timestamp": 1, "titl": 1, "tl": 1, "togeth": 1, "token": 1, "top": 1, "top_left": 1, "total": 1, "track": 1, "traffic": 1, "train": 1, "tri": 1, "trigger": 1, "true": 1, "truth": 1, "try": 1, "tupl": 1, "type": 1, "typic": 1, "u": 1, "uint8": 1, "unavailablemodul": 1, "unclear": 1, "undergo": 1, "undon": 1, "uniqu": 1, "unit": 1, "until": 1, "up": 1, "updat": 1, "update_detector_confidence_threshold": 1, "update_detector_escalation_typ": 1, "update_detector_nam": 1, "update_detector_statu": 1, "update_inspection_metadata": 1, "uri": 1, "url": 1, "us": 1, "usag": 1, "user": 1, "user_provided_kei": 1, "user_provided_valu": 1, "usernam": 1, "valid": 1, "valu": 1, "valueerror": 1, "variabl": 1, "vehicl": 1, "verb": 1, "verbenum": 1, "verif": 1, "verifi": 1, "via": 1, "view": 0, "visit": 0, "visual": 1, "w": 1, "wa": 1, "wait": 1, "wait_for_confident_result": 1, "wait_for_ml_result": 1, "want_async": 1, "warn": 1, "we": 1, "what": 1, "when": 1, "where": 1, "whether": 1, "which": 1, "whoami": 1, "whose": 1, "width": 1, "within": 1, "without": 1, "work": 1, "workflow": 1, "would": 1, "x": 1, "y": 1, "ye": 1, "yellow": 1, "yet": 1, "you": 1, "your": 1}, "titles": ["Welcome to Groundlight Python SDK\u2019s documentation!", "SDK Client"], "titleterms": {"": 0, "api": 1, "client": 1, "content": 0, "document": 0, "groundlight": 0, "object": 1, "python": 0, "respons": 1, "sdk": [0, 1], "welcom": 0}})
\ No newline at end of file
+Search.setIndex({"alltitles": {"API Response Objects": [[1, "api-response-objects"]], "Contents:": [[0, null]], "SDK Client": [[1, "sdk-client"]], "Welcome to Groundlight Python SDK\u2019s documentation!": [[0, "welcome-to-groundlight-python-sdk-s-documentation"]]}, "docnames": ["index", "models"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["index.rst", "models.rst"], "indexentries": {"__init__() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.__init__", false]], "__init__() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.__init__", false]], "action (model.rule attribute)": [[1, "model.Rule.action", false]], "add_label() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.add_label", false]], "ask_async() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.ask_async", false]], "ask_confident() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.ask_confident", false]], "ask_ml() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.ask_ml", false]], "condition (model.rule attribute)": [[1, "model.Rule.condition", false]], "confidence_threshold (model.detector attribute)": [[1, "model.Detector.confidence_threshold", false]], "confidence_threshold (model.imagequery attribute)": [[1, "model.ImageQuery.confidence_threshold", false]], "count (model.paginateddetectorlist attribute)": [[1, "model.PaginatedDetectorList.count", false]], "count (model.paginatedimagequerylist attribute)": [[1, "model.PaginatedImageQueryList.count", false]], "count (model.paginatedrulelist attribute)": [[1, "model.PaginatedRuleList.count", false]], "create_alert() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.create_alert", false]], "create_counting_detector() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.create_counting_detector", false]], "create_detector() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.create_detector", false]], "create_detector_group() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.create_detector_group", false]], "create_multiclass_detector() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.create_multiclass_detector", false]], "create_note() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.create_note", false]], "create_roi() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.create_roi", false]], "create_rule() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.create_rule", false]], "created_at (model.detector attribute)": [[1, "model.Detector.created_at", false]], "created_at (model.imagequery attribute)": [[1, "model.ImageQuery.created_at", false]], "delete_all_rules() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.delete_all_rules", false]], "delete_rule() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.delete_rule", false]], "detector_id (model.imagequery attribute)": [[1, "model.ImageQuery.detector_id", false]], "detector_id (model.rule attribute)": [[1, "model.Rule.detector_id", false]], "detector_name (model.rule attribute)": [[1, "model.Rule.detector_name", false]], "enabled (model.rule attribute)": [[1, "model.Rule.enabled", false]], "escalation_type (model.detector attribute)": [[1, "model.Detector.escalation_type", false]], "experimentalapi (class in groundlight)": [[1, "groundlight.ExperimentalApi", false]], "get_detector() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.get_detector", false]], "get_detector_by_name() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.get_detector_by_name", false]], "get_image() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.get_image", false]], "get_image_query() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.get_image_query", false]], "get_notes() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.get_notes", false]], "get_or_create_detector() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.get_or_create_detector", false]], "get_rule() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.get_rule", false]], "groundlight (class in groundlight)": [[1, "groundlight.Groundlight", false]], "group_name (model.detector attribute)": [[1, "model.Detector.group_name", false]], "human_review_required (model.rule attribute)": [[1, "model.Rule.human_review_required", false]], "id (model.detector attribute)": [[1, "model.Detector.id", false]], "id (model.imagequery attribute)": [[1, "model.ImageQuery.id", false]], "id (model.rule attribute)": [[1, "model.Rule.id", false]], "list_detector_groups() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.list_detector_groups", false]], "list_detectors() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.list_detectors", false]], "list_image_queries() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.list_image_queries", false]], "list_rules() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.list_rules", false]], "make_action() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.make_action", false]], "make_condition() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.make_condition", false]], "metadata (model.detector attribute)": [[1, "model.Detector.metadata", false]], "metadata (model.imagequery attribute)": [[1, "model.ImageQuery.metadata", false]], "mode (model.detector attribute)": [[1, "model.Detector.mode", false]], "mode_configuration (model.detector attribute)": [[1, "model.Detector.mode_configuration", false]], "name (model.detector attribute)": [[1, "model.Detector.name", false]], "name (model.rule attribute)": [[1, "model.Rule.name", false]], "next (model.paginateddetectorlist attribute)": [[1, "model.PaginatedDetectorList.next", false]], "next (model.paginatedimagequerylist attribute)": [[1, "model.PaginatedImageQueryList.next", false]], "next (model.paginatedrulelist attribute)": [[1, "model.PaginatedRuleList.next", false]], "patience_time (model.detector attribute)": [[1, "model.Detector.patience_time", false]], "patience_time (model.imagequery attribute)": [[1, "model.ImageQuery.patience_time", false]], "previous (model.paginateddetectorlist attribute)": [[1, "model.PaginatedDetectorList.previous", false]], "previous (model.paginatedimagequerylist attribute)": [[1, "model.PaginatedImageQueryList.previous", false]], "previous (model.paginatedrulelist attribute)": [[1, "model.PaginatedRuleList.previous", false]], "query (model.detector attribute)": [[1, "model.Detector.query", false]], "query (model.imagequery attribute)": [[1, "model.ImageQuery.query", false]], "reset_detector() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.reset_detector", false]], "result (model.imagequery attribute)": [[1, "model.ImageQuery.result", false]], "result_type (model.imagequery attribute)": [[1, "model.ImageQuery.result_type", false]], "results (model.paginateddetectorlist attribute)": [[1, "model.PaginatedDetectorList.results", false]], "results (model.paginatedimagequerylist attribute)": [[1, "model.PaginatedImageQueryList.results", false]], "results (model.paginatedrulelist attribute)": [[1, "model.PaginatedRuleList.results", false]], "rois (model.imagequery attribute)": [[1, "model.ImageQuery.rois", false]], "snooze_time_enabled (model.rule attribute)": [[1, "model.Rule.snooze_time_enabled", false]], "snooze_time_unit (model.rule attribute)": [[1, "model.Rule.snooze_time_unit", false]], "snooze_time_value (model.rule attribute)": [[1, "model.Rule.snooze_time_value", false]], "start_inspection() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.start_inspection", false]], "status (model.detector attribute)": [[1, "model.Detector.status", false]], "stop_inspection() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.stop_inspection", false]], "submit_image_query() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.submit_image_query", false]], "text (model.imagequery attribute)": [[1, "model.ImageQuery.text", false]], "type (model.detector attribute)": [[1, "model.Detector.type", false]], "type (model.imagequery attribute)": [[1, "model.ImageQuery.type", false]], "update_detector_confidence_threshold() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.update_detector_confidence_threshold", false]], "update_detector_escalation_type() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.update_detector_escalation_type", false]], "update_detector_name() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.update_detector_name", false]], "update_detector_status() (groundlight.experimentalapi method)": [[1, "groundlight.ExperimentalApi.update_detector_status", false]], "update_inspection_metadata() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.update_inspection_metadata", false]], "wait_for_confident_result() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.wait_for_confident_result", false]], "wait_for_ml_result() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.wait_for_ml_result", false]], "whoami() (groundlight.groundlight method)": [[1, "groundlight.Groundlight.whoami", false]]}, "objects": {"groundlight": [[1, 0, 1, "", "ExperimentalApi"], [1, 0, 1, "", "Groundlight"]], "groundlight.ExperimentalApi": [[1, 1, 1, "", "__init__"], [1, 1, 1, "", "create_alert"], [1, 1, 1, "", "create_counting_detector"], [1, 1, 1, "", "create_detector_group"], [1, 1, 1, "", "create_multiclass_detector"], [1, 1, 1, "", "create_note"], [1, 1, 1, "", "create_roi"], [1, 1, 1, "", "create_rule"], [1, 1, 1, "", "delete_all_rules"], [1, 1, 1, "", "delete_rule"], [1, 1, 1, "", "get_image"], [1, 1, 1, "", "get_notes"], [1, 1, 1, "", "get_rule"], [1, 1, 1, "", "list_detector_groups"], [1, 1, 1, "", "list_rules"], [1, 1, 1, "", "make_action"], [1, 1, 1, "", "make_condition"], [1, 1, 1, "", "reset_detector"], [1, 1, 1, "", "update_detector_escalation_type"], [1, 1, 1, "", "update_detector_name"], [1, 1, 1, "", "update_detector_status"]], "groundlight.Groundlight": [[1, 1, 1, "", "__init__"], [1, 1, 1, "", "add_label"], [1, 1, 1, "", "ask_async"], [1, 1, 1, "", "ask_confident"], [1, 1, 1, "", "ask_ml"], [1, 1, 1, "", "create_detector"], [1, 1, 1, "", "get_detector"], [1, 1, 1, "", "get_detector_by_name"], [1, 1, 1, "", "get_image_query"], [1, 1, 1, "", "get_or_create_detector"], [1, 1, 1, "", "list_detectors"], [1, 1, 1, "", "list_image_queries"], [1, 1, 1, "", "start_inspection"], [1, 1, 1, "", "stop_inspection"], [1, 1, 1, "", "submit_image_query"], [1, 1, 1, "", "update_detector_confidence_threshold"], [1, 1, 1, "", "update_inspection_metadata"], [1, 1, 1, "", "wait_for_confident_result"], [1, 1, 1, "", "wait_for_ml_result"], [1, 1, 1, "", "whoami"]], "model": [[1, 2, 1, "", "Detector"], [1, 2, 1, "", "ImageQuery"], [1, 2, 1, "", "PaginatedDetectorList"], [1, 2, 1, "", "PaginatedImageQueryList"], [1, 2, 1, "", "PaginatedRuleList"], [1, 2, 1, "", "Rule"]], "model.Detector": [[1, 3, 1, "", "confidence_threshold"], [1, 3, 1, "", "created_at"], [1, 3, 1, "", "escalation_type"], [1, 3, 1, "", "group_name"], [1, 3, 1, "", "id"], [1, 3, 1, "", "metadata"], [1, 3, 1, "", "mode"], [1, 3, 1, "", "mode_configuration"], [1, 3, 1, "", "name"], [1, 3, 1, "", "patience_time"], [1, 3, 1, "", "query"], [1, 3, 1, "", "status"], [1, 3, 1, "", "type"]], "model.ImageQuery": [[1, 3, 1, "", "confidence_threshold"], [1, 3, 1, "", "created_at"], [1, 3, 1, "", "detector_id"], [1, 3, 1, "", "id"], [1, 3, 1, "", "metadata"], [1, 3, 1, "", "patience_time"], [1, 3, 1, "", "query"], [1, 3, 1, "", "result"], [1, 3, 1, "", "result_type"], [1, 3, 1, "", "rois"], [1, 3, 1, "", "text"], [1, 3, 1, "", "type"]], "model.PaginatedDetectorList": [[1, 3, 1, "", "count"], [1, 3, 1, "", "next"], [1, 3, 1, "", "previous"], [1, 3, 1, "", "results"]], "model.PaginatedImageQueryList": [[1, 3, 1, "", "count"], [1, 3, 1, "", "next"], [1, 3, 1, "", "previous"], [1, 3, 1, "", "results"]], "model.PaginatedRuleList": [[1, 3, 1, "", "count"], [1, 3, 1, "", "next"], [1, 3, 1, "", "previous"], [1, 3, 1, "", "results"]], "model.Rule": [[1, 3, 1, "", "action"], [1, 3, 1, "", "condition"], [1, 3, 1, "", "detector_id"], [1, 3, 1, "", "detector_name"], [1, 3, 1, "", "enabled"], [1, 3, 1, "", "human_review_required"], [1, 3, 1, "", "id"], [1, 3, 1, "", "name"], [1, 3, 1, "", "snooze_time_enabled"], [1, 3, 1, "", "snooze_time_unit"], [1, 3, 1, "", "snooze_time_value"]]}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "method", "Python method"], "2": ["py", "pydantic_model", "Python model"], "3": ["py", "pydantic_field", "Python field"]}, "objtypes": {"0": "py:class", "1": "py:method", "2": "py:pydantic_model", "3": "py:pydantic_field"}, "terms": {"": 1, "0": 1, "00": 1, "00z": 1, "01": 1, "01t12": 1, "1": 1, "10": 1, "100": 1, "123": 1, "1234567890": 1, "1kb": 1, "2": 1, "200": 1, "2023": 1, "255": 1, "3": 1, "30": 1, "3600": 1, "4": 1, "44": 1, "5": 1, "50": 1, "60": 1, "8": 1, "9": 1, "95": 1, "98": 1, "A": 1, "At": 1, "For": [0, 1], "If": 1, "It": 1, "NO": 1, "No": 1, "ON": 1, "One": 1, "The": 1, "To": 1, "With": 1, "__init__": 1, "about": 1, "abov": 1, "accept": 1, "access": 1, "account": 1, "accuraci": 1, "action": 1, "action1": 1, "action2": 1, "action_id": 1, "actionlist": 1, "activ": 1, "add": 1, "add_label": 1, "addit": 1, "addition": 1, "address": 1, "advanc": 1, "affect": 1, "ahead": 1, "ai": 1, "ajar": 1, "alert": 1, "alert_on": 1, "algorithm": 1, "all": 1, "allow": 1, "alreadi": 1, "also": 1, "altern": 1, "alwai": 1, "an": 1, "analysi": 1, "analyt": 1, "ani": 1, "annot": 1, "answer": 1, "answered_consecut": 1, "answered_within_tim": 1, "anyof": 1, "anyurl": 1, "api": 0, "api_token": 1, "apitokenerror": 1, "ar": 1, "area": 1, "arrai": 1, "arriv": 1, "ask_async": 1, "ask_confid": 1, "ask_ml": 1, "assign": 1, "associ": 1, "async": 1, "asynchron": 1, "attach": 1, "attempt": 1, "auth": 1, "authent": 1, "autom": 1, "automat": 1, "avail": 1, "back": 1, "base": 1, "basic": 1, "bboxgeometri": 1, "befor": 1, "below": 1, "between": 1, "bgr": 1, "binari": 1, "binary_classif": 1, "binaryclassificationresult": 1, "blankenum": 1, "block": 1, "bool": 1, "boolean": 1, "both": 1, "bottom": 1, "bottom_right": 1, "bound": 1, "box": 1, "bufferedread": 1, "build": 1, "byte": 1, "bytesio": 1, "call": 1, "cam1": 1, "camera": 1, "camera_id": 1, "can": 1, "cannot": 1, "car": 1, "categori": 1, "caution": 1, "certain": 1, "certif": 1, "chang": 1, "changed_to": 1, "channel": 1, "channelenum": 1, "check": 1, "class": 1, "class_nam": 1, "classif": 1, "classifi": 1, "client": 0, "cloud": 1, "cloud_ensembl": 1, "code": 0, "collect": 1, "color": 1, "color_bgr2rgb": 1, "com": 1, "compani": 1, "comput": 1, "condit": 1, "condition_paramet": 1, "confid": 1, "confidence_threshold": 1, "config": 1, "configur": 1, "confirm": 1, "confloat": 1, "conint": 1, "connect": 1, "consecut": 1, "constr": 1, "constraint": 1, "construct": 1, "contain": 1, "content": 1, "control": 1, "conveni": 1, "convert": 1, "coordin": 1, "core": 1, "corner": 1, "correct": 1, "correctli": 1, "correspond": 1, "cost": 1, "couch": 1, "could": 1, "count": 1, "counter": 1, "countingresult": 1, "creat": 1, "create_alert": 1, "create_counting_detector": 1, "create_detector": 1, "create_detector_group": 1, "create_multiclass_detector": 1, "create_not": 1, "create_roi": 1, "create_rul": 1, "created_at": 1, "current": 1, "custom": 1, "cv2": 1, "cvtcolor": 1, "dai": 1, "data": 1, "date": 1, "datetim": 1, "def": 1, "default": 1, "defin": 1, "delet": 1, "delete_all_rul": 1, "delete_rul": 1, "depend": 1, "descript": 1, "det": 1, "det_": 1, "det_123": 1, "det_12345": 1, "det_abc123": 1, "det_idher": 1, "detail": [0, 1], "detect": 1, "detector": [0, 1], "detector_group": 1, "detector_id": 1, "detector_nam": 1, "detectorgroup": 1, "detectortypeenum": 1, "develop": 1, "devic": 1, "dict": 1, "dictionari": 1, "differ": 1, "dimens": 1, "directli": 1, "disabl": 1, "disable_tls_verif": 1, "disable_tls_verifi": 1, "doesn": 1, "dog": 1, "don": 1, "door": 1, "door_detector": 1, "door_group": 1, "door_open_detector": 1, "door_roi": 1, "durat": 1, "e": 1, "each": 1, "edg": 1, "effect": 1, "either": 1, "els": 1, "email": 1, "emit": 1, "enabl": 1, "encod": 1, "endpoint": 1, "entranc": 1, "enum": 1, "environ": 1, "equival": 1, "error": 1, "escal": 1, "escalation_typ": 1, "escalationtypeenum": 1, "etc": 1, "evalu": 1, "even": 1, "exampl": 1, "except": 1, "exist": 1, "experiment": 1, "experimentalapi": [0, 1], "exponenti": 1, "extend": 1, "extern": 1, "f": 1, "fail": 1, "fall": 1, "fals": 1, "faster": 1, "featur": 1, "field": 1, "file": 1, "filenam": 1, "find": 1, "first": 1, "float": 1, "format": 1, "found": 1, "fresh": 1, "from": 1, "frombuff": 1, "front": 1, "front_door": 1, "function": 1, "futur": 1, "g": 1, "ge": 1, "gener": 1, "geometri": 1, "get": 1, "get_detector": 1, "get_detector_by_nam": 1, "get_imag": 1, "get_image_queri": 1, "get_not": 1, "get_or_create_detector": 1, "get_rul": 1, "github": 0, "given": 1, "gl": 1, "got": 1, "greater": 1, "greater_than_max": 1, "green": 1, "ground": 1, "groundlight": 1, "groundlight_api_token": 1, "groundlight_endpoint": 1, "groundlightclienterror": 1, "group": 1, "group_nam": 1, "h": 1, "ha": 1, "handl": 1, "have": 1, "height": 1, "help": 1, "high": 1, "higher": 1, "hour": 1, "how": 1, "hq": 1, "http": 1, "human": 1, "human_review": 1, "human_review_requir": 1, "i": 1, "id": 1, "identifi": 1, "imag": 1, "image_byt": 1, "image_data": 1, "image_queri": 1, "image_query_id": 1, "image_rgb": 1, "imagequeri": [0, 1], "imagequerytypeenum": 1, "imdecod": 1, "img": 1, "immedi": 1, "import": 1, "improv": 1, "imread_color": 1, "includ": 1, "include_imag": 1, "index": 1, "indic": 1, "info": 1, "inform": 1, "initi": 1, "inspect": 1, "inspection_id": 1, "instanc": 1, "instanti": 1, "instead": 1, "int": 1, "integ": 1, "intend": 1, "interest": 1, "intern": 1, "invalid": 1, "io": 1, "iq": 1, "iq_": 1, "iq_123": 1, "iq_abc123": 1, "iq_id": 1, "issu": 1, "item": 1, "iter": 1, "its": 1, "jpeg": 1, "jpg": 1, "json": 1, "keep": 1, "kei": 1, "label": 1, "later": 1, "le": 1, "learn": 1, "left": 1, "leftmost": 1, "level": 1, "librari": 1, "light": 1, "like": 1, "limit": 1, "link": 1, "list": 1, "list_detector": 1, "list_detector_group": 1, "list_image_queri": 1, "list_rul": 1, "locat": 1, "long": 1, "longer": 1, "look": 1, "lot": 1, "low": 1, "mai": 1, "maintain": 1, "make_act": 1, "make_condit": 1, "mandatori": 1, "mani": 1, "map": 1, "match": 1, "max": 1, "max_count": 1, "max_length": 1, "maximum": 1, "maxlength": 1, "messag": 1, "met": 1, "metadata": 1, "method": 1, "min": 1, "minimum": 1, "minlength": 1, "minut": 1, "mismatch": 1, "mixin": 1, "ml": 1, "mode": 1, "mode_configur": 1, "modeenum": 1, "model": 1, "modifi": 1, "monitor": 1, "more": 1, "most": 1, "motion": 1, "motion_detector": 1, "multi": 1, "multi_class": 1, "multi_classif": 1, "multiclass": 1, "multiclassificationresult": 1, "multipl": 1, "must": 1, "my_detector": 1, "n": 1, "name": 1, "navig": 1, "necessari": 1, "need": 1, "network": 1, "never": 1, "new": 1, "new_detector_nam": 1, "newli": 1, "next": 1, "next_pag": 1, "no_chang": 1, "no_human_label": 1, "no_queri": 1, "none": 1, "normal": 1, "note": 1, "notif": 1, "np": 1, "nparr": 1, "null": 1, "num_class": 1, "num_consecutive_label": 1, "num_delet": 1, "number": 1, "numpi": 1, "object": 0, "occur": 1, "off": 1, "omit": 1, "one": 1, "onli": 1, "open": 1, "opencv": 1, "oper": 1, "option": 1, "order": 1, "org": 1, "organ": 1, "other": 1, "otherwis": 1, "out": 1, "output": 1, "over": 1, "page": 1, "page_s": 1, "pagin": 1, "paginateddetectorlist": [0, 1], "paginatedimagequerylist": [0, 1], "paginatedrulelist": [0, 1], "pair": 1, "paramet": 1, "park": 1, "part": 1, "particular": 1, "particularli": 1, "pass": 1, "path": 1, "patienc": 1, "patience_tim": 1, "peopl": 1, "people_count": 1, "per": 1, "period": 1, "person": 1, "phone": 1, "pil": 1, "pipelin": 1, "pipeline_config": 1, "pixel": 1, "place": 1, "pleas": 1, "poll": 1, "possibl": 1, "predict": 1, "prevent": 1, "previou": 1, "previous": 1, "print": 1, "priorit": 1, "pro": 1, "proccess": 1, "process": 1, "properti": 1, "provid": 1, "public": 1, "purpos": 1, "pydant": 1, "qualiti": 1, "queri": 1, "question": 1, "quick": 1, "rais": 1, "random": 1, "rather": 1, "re": 1, "reach": 1, "read": 1, "readi": 1, "receiv": 1, "recipi": 1, "red": 1, "ref": 1, "region": 1, "relat": 1, "releas": 1, "remov": 1, "repeat": 1, "report": 1, "repositori": 0, "repres": 1, "request": 1, "requir": 1, "reset": 1, "reset_detector": 1, "respons": 0, "result": 1, "result_typ": 1, "resulttypeenum": 1, "retail": 1, "retriev": 1, "return": 1, "revers": 1, "review": 1, "rgb": 1, "right": 1, "roi": 1, "rule": [0, 1], "rule_nam": 1, "schema": 1, "score": 1, "second": 1, "secur": 1, "self": 1, "send": 1, "sent": 1, "serial": 1, "serv": 1, "server": 1, "servic": 1, "set": 1, "sever": 1, "short": 1, "should": 1, "show": 1, "side": 1, "sign": 1, "signific": 1, "simpler": 1, "sinc": 1, "slightli": 1, "sm": 1, "snooz": 1, "snooze_time_en": 1, "snooze_time_unit": 1, "snooze_time_valu": 1, "snoozetimeunitenum": 1, "soft": 1, "sourc": [0, 1], "space": 1, "spam": 1, "spec": 1, "specif": 1, "specifi": 1, "ssl": 1, "standard": 1, "start": 1, "start_inspect": 1, "state": 1, "statu": 1, "statusenum": 1, "still": 1, "still_process": 1, "stop": 1, "stop_inspect": 1, "store": 1, "str": 1, "strictbasemodel": 1, "string": 1, "stronger": 1, "submiss": 1, "submit": 1, "submit_image_queri": 1, "successfulli": 1, "support": 1, "synchron": 1, "system": 1, "t": 1, "text": 1, "than": 1, "thi": 1, "threshold": 1, "through": 1, "tier": 1, "time": 1, "time_unit": 1, "time_valu": 1, "timeout": 1, "timeout_sec": 1, "timeouterror": 1, "timestamp": 1, "titl": 1, "tl": 1, "togeth": 1, "token": 1, "top": 1, "top_left": 1, "total": 1, "track": 1, "traffic": 1, "train": 1, "tri": 1, "trigger": 1, "true": 1, "truth": 1, "try": 1, "tupl": 1, "type": 1, "typic": 1, "u": 1, "uint8": 1, "unavailablemodul": 1, "unclear": 1, "undergo": 1, "undon": 1, "uniqu": 1, "unit": 1, "until": 1, "up": 1, "updat": 1, "update_detector_confidence_threshold": 1, "update_detector_escalation_typ": 1, "update_detector_nam": 1, "update_detector_statu": 1, "update_inspection_metadata": 1, "uri": 1, "url": 1, "us": 1, "usag": 1, "user": 1, "user_provided_kei": 1, "user_provided_valu": 1, "usernam": 1, "valid": 1, "valu": 1, "valueerror": 1, "variabl": 1, "vehicl": 1, "verb": 1, "verbenum": 1, "verif": 1, "verifi": 1, "via": 1, "view": 0, "visit": 0, "visual": 1, "w": 1, "wa": 1, "wait": 1, "wait_for_confident_result": 1, "wait_for_ml_result": 1, "want_async": 1, "warn": 1, "we": 1, "what": 1, "when": 1, "where": 1, "whether": 1, "which": 1, "whoami": 1, "whose": 1, "width": 1, "within": 1, "without": 1, "work": 1, "workflow": 1, "would": 1, "x": 1, "y": 1, "ye": 1, "yellow": 1, "yet": 1, "you": 1, "your": 1}, "titles": ["Welcome to Groundlight Python SDK\u2019s documentation!", "SDK Client"], "titleterms": {"": 0, "api": 1, "client": 1, "content": 0, "document": 0, "groundlight": 0, "object": 1, "python": 0, "respons": 1, "sdk": [0, 1], "welcom": 0}})
\ No newline at end of file
diff --git a/search-index.json b/search-index.json
index 3825944c..b4e4334e 100644
--- a/search-index.json
+++ b/search-index.json
@@ -1 +1 @@
-[{"documents":[{"i":1,"t":"","u":"/python-sdk/blog/archive","b":["Blog"]},{"i":2,"t":"The Grime Guardian: Building Stateful Multi-camera applications with Groundlight","u":"/python-sdk/blog/grime-guardian","b":["Blog"]},{"i":20,"t":"Tales from the Binomial Tail: Confidence intervals for balanced accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","b":["Blog"]},{"i":50,"t":"Getting Started","u":"/python-sdk/docs/getting-started","b":["Docs","Getting Started"]},{"i":59,"t":"","u":"/python-sdk/docs/api-reference","b":["Docs"]},{"i":60,"t":"Using API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","b":["Docs","Getting Started"]},{"i":70,"t":"Initial setup","u":"/python-sdk/docs/getting-started/initial-setup","b":["Docs","Getting Started"]},{"i":80,"t":"Guide","u":"/python-sdk/docs/guide","b":["Docs","Guide"]},{"i":82,"t":"Writing Queries","u":"/python-sdk/docs/getting-started/writing-queries","b":["Docs","Getting Started"]},{"i":98,"t":"Configuring Alerts","u":"/python-sdk/docs/guide/alerts","b":["Docs","Guide"]},{"i":104,"t":"Processing Images on the Edge","u":"/python-sdk/docs/guide/edge","b":["Docs","Guide"]},{"i":114,"t":"Using Asynchronous Queries","u":"/python-sdk/docs/guide/async-queries","b":["Docs","Guide"]},{"i":122,"t":"Handling Errors","u":"/python-sdk/docs/guide/handling-errors","b":["Docs","Guide"]},{"i":140,"t":"Setting Confidence Thresholds","u":"/python-sdk/docs/guide/managing-confidence","b":["Docs","Guide"]},{"i":145,"t":"Grabbing Images","u":"/python-sdk/docs/guide/grabbing-images","b":["Docs","Guide"]},{"i":161,"t":"Submitting Image Queries","u":"/python-sdk/docs/guide/submitting-image-queries","b":["Docs","Guide"]},{"i":180,"t":"Installation Guide for Groundlight Python SDK","u":"/python-sdk/docs/installation","b":["Docs","Installation"]},{"i":188,"t":"Working with Detectors","u":"/python-sdk/docs/guide/working-with-detectors","b":["Docs","Guide"]},{"i":199,"t":"Optional libraries","u":"/python-sdk/docs/installation/optional-libraries","b":["Docs","Installation"]},{"i":208,"t":"Installing on Linux","u":"/python-sdk/docs/installation/linux","b":["Docs","Installation"]},{"i":228,"t":"Usage on NVIDIA Jetson","u":"/python-sdk/docs/installation/nvidia-jetson","b":["Docs","Installation"]},{"i":242,"t":"Usage on Raspberry Pi","u":"/python-sdk/docs/installation/raspberry-pi","b":["Docs","Installation"]},{"i":256,"t":"No-Code IoT Deployment","u":"/python-sdk/docs/other-ways-to-use/esp32cam","b":["Docs","Alternative Deployment Options"]},{"i":266,"t":"Low-Code Monitoring Notification Server","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","b":["Docs","Alternative Deployment Options"]},{"i":286,"t":"Installing on Windows","u":"/python-sdk/docs/installation/windows","b":["Docs","Installation"]},{"i":304,"t":"Low-Code Stream Processor","u":"/python-sdk/docs/other-ways-to-use/stream-processor","b":["Docs","Alternative Deployment Options"]},{"i":314,"t":"Installing on macOS","u":"/python-sdk/docs/installation/macos","b":["Docs","Installation"]},{"i":332,"t":"Sample Applications","u":"/python-sdk/docs/sample-applications","b":["Docs","Sample Applications"]},{"i":342,"t":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/sample-applications/industrial","b":["Docs","Sample Applications"]},{"i":354,"t":"A Fun Example: Dog-on-Couch Detector","u":"/python-sdk/docs/sample-applications/dog-on-couch","b":["Docs","Sample Applications"]},{"i":362,"t":"A Serious Example: Retail Analytics","u":"/python-sdk/docs/sample-applications/retail-analytics","b":["Docs","Sample Applications"]},{"i":371,"t":"A Quick Example: Live Stream Monitor","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","b":["Docs","Sample Applications"]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[]],["t/2",[0,1.825,1,1.825,2,1.825,3,1.825,4,1.825,5,1.825,6,1.325,7,1.524]],["t/20",[8,1.987,9,1.987,10,1.987,11,1.659,12,1.987,13,1.987,14,1.987]],["t/50",[15,3.567,16,3.567]],["t/59",[]],["t/60",[17,2.569,18,3.078,19,3.078]],["t/70",[20,3.567,21,3.567]],["t/80",[22,3.541]],["t/82",[23,3.567,24,2.589]],["t/98",[25,3.567,26,3.567]],["t/104",[27,3.078,28,2.569,29,3.078]],["t/114",[17,2.569,24,2.234,30,3.078]],["t/122",[31,3.567,32,3.567]],["t/140",[11,2.569,33,3.078,34,3.078]],["t/145",[28,2.978,35,3.567]],["t/161",[24,2.234,36,3.078,37,3.078]],["t/180",[7,2.016,22,2.016,38,2.415,39,2.415,40,2.415]],["t/188",[41,3.567,42,3.567]],["t/199",[43,3.567,44,3.567]],["t/208",[45,2.589,46,3.567]],["t/228",[47,2.569,48,3.078,49,3.078]],["t/242",[47,2.569,50,3.078,51,3.078]],["t/256",[52,2.234,53,3.078,54,3.078]],["t/266",[52,1.753,55,2.016,56,2.415,57,2.415,58,2.415]],["t/286",[45,2.589,59,3.567]],["t/304",[52,1.965,55,2.259,60,2.259,61,2.706]],["t/314",[45,2.589,62,3.567]],["t/332",[6,2.589,63,3.567]],["t/342",[6,2.234,64,3.078,65,3.078]],["t/354",[66,2.415,67,1.753,68,2.415,69,2.415,70,2.415]],["t/362",[67,1.965,71,2.706,72,2.706,73,2.706]],["t/371",[60,2.016,67,1.753,74,2.415,75,2.415,76,2.415]]],"invertedIndex":[["accuracy",{"_index":14,"t":{"20":{"position":[[64,8]]}}}],["alerts",{"_index":26,"t":{"98":{"position":[[12,6]]}}}],["analytics",{"_index":73,"t":{"362":{"position":[[26,9]]}}}],["api",{"_index":18,"t":{"60":{"position":[[6,3]]}}}],["applications",{"_index":6,"t":{"2":{"position":[[51,12]]},"332":{"position":[[7,12]]},"342":{"position":[[29,12]]}}}],["asynchronous",{"_index":30,"t":{"114":{"position":[[6,12]]}}}],["balanced",{"_index":13,"t":{"20":{"position":[[55,8]]}}}],["binomial",{"_index":9,"t":{"20":{"position":[[15,8]]}}}],["building",{"_index":2,"t":{"2":{"position":[[20,8]]}}}],["camera",{"_index":5,"t":{"2":{"position":[[44,6]]}}}],["code",{"_index":52,"t":{"256":{"position":[[3,4]]},"266":{"position":[[4,4]]},"304":{"position":[[4,4]]}}}],["confidence",{"_index":11,"t":{"20":{"position":[[30,10]]},"140":{"position":[[8,10]]}}}],["configuring",{"_index":25,"t":{"98":{"position":[[0,11]]}}}],["couch",{"_index":69,"t":{"354":{"position":[[22,5]]}}}],["deployment",{"_index":54,"t":{"256":{"position":[[12,10]]}}}],["detector",{"_index":70,"t":{"354":{"position":[[28,8]]}}}],["detectors",{"_index":42,"t":{"188":{"position":[[13,9]]}}}],["dog",{"_index":68,"t":{"354":{"position":[[15,3]]}}}],["edge",{"_index":29,"t":{"104":{"position":[[25,4]]}}}],["errors",{"_index":32,"t":{"122":{"position":[[9,6]]}}}],["example",{"_index":67,"t":{"354":{"position":[[6,8]]},"362":{"position":[[10,8]]},"371":{"position":[[8,8]]}}}],["fun",{"_index":66,"t":{"354":{"position":[[2,3]]}}}],["getting",{"_index":15,"t":{"50":{"position":[[0,7]]}}}],["grabbing",{"_index":35,"t":{"145":{"position":[[0,8]]}}}],["grime",{"_index":0,"t":{"2":{"position":[[4,5]]}}}],["groundlight",{"_index":7,"t":{"2":{"position":[[69,11]]},"180":{"position":[[23,11]]}}}],["guardian",{"_index":1,"t":{"2":{"position":[[10,9]]}}}],["guide",{"_index":22,"t":{"80":{"position":[[0,5]]},"180":{"position":[[13,5]]}}}],["handling",{"_index":31,"t":{"122":{"position":[[0,8]]}}}],["image",{"_index":37,"t":{"161":{"position":[[11,5]]}}}],["images",{"_index":28,"t":{"104":{"position":[[11,6]]},"145":{"position":[[9,6]]}}}],["industrial",{"_index":64,"t":{"342":{"position":[[0,10]]}}}],["initial",{"_index":20,"t":{"70":{"position":[[0,7]]}}}],["installation",{"_index":38,"t":{"180":{"position":[[0,12]]}}}],["installing",{"_index":45,"t":{"208":{"position":[[0,10]]},"286":{"position":[[0,10]]},"314":{"position":[[0,10]]}}}],["intervals",{"_index":12,"t":{"20":{"position":[[41,9]]}}}],["iot",{"_index":53,"t":{"256":{"position":[[8,3]]}}}],["jetson",{"_index":49,"t":{"228":{"position":[[16,6]]}}}],["libraries",{"_index":44,"t":{"199":{"position":[[9,9]]}}}],["linux",{"_index":46,"t":{"208":{"position":[[14,5]]}}}],["live",{"_index":75,"t":{"371":{"position":[[17,4]]}}}],["low",{"_index":55,"t":{"266":{"position":[[0,3]]},"304":{"position":[[0,3]]}}}],["macos",{"_index":62,"t":{"314":{"position":[[14,5]]}}}],["manufacturing",{"_index":65,"t":{"342":{"position":[[15,13]]}}}],["monitor",{"_index":76,"t":{"371":{"position":[[29,7]]}}}],["monitoring",{"_index":56,"t":{"266":{"position":[[9,10]]}}}],["multi",{"_index":4,"t":{"2":{"position":[[38,5]]}}}],["notification",{"_index":57,"t":{"266":{"position":[[20,12]]}}}],["nvidia",{"_index":48,"t":{"228":{"position":[[9,6]]}}}],["optional",{"_index":43,"t":{"199":{"position":[[0,8]]}}}],["pi",{"_index":51,"t":{"242":{"position":[[19,2]]}}}],["processing",{"_index":27,"t":{"104":{"position":[[0,10]]}}}],["processor",{"_index":61,"t":{"304":{"position":[[16,9]]}}}],["python",{"_index":39,"t":{"180":{"position":[[35,6]]}}}],["queries",{"_index":24,"t":{"82":{"position":[[8,7]]},"114":{"position":[[19,7]]},"161":{"position":[[17,7]]}}}],["quick",{"_index":74,"t":{"371":{"position":[[2,5]]}}}],["raspberry",{"_index":50,"t":{"242":{"position":[[9,9]]}}}],["retail",{"_index":72,"t":{"362":{"position":[[19,6]]}}}],["sample",{"_index":63,"t":{"332":{"position":[[0,6]]}}}],["sdk",{"_index":40,"t":{"180":{"position":[[42,3]]}}}],["serious",{"_index":71,"t":{"362":{"position":[[2,7]]}}}],["server",{"_index":58,"t":{"266":{"position":[[33,6]]}}}],["setting",{"_index":33,"t":{"140":{"position":[[0,7]]}}}],["setup",{"_index":21,"t":{"70":{"position":[[8,5]]}}}],["started",{"_index":16,"t":{"50":{"position":[[8,7]]}}}],["stateful",{"_index":3,"t":{"2":{"position":[[29,8]]}}}],["stream",{"_index":60,"t":{"304":{"position":[[9,6]]},"371":{"position":[[22,6]]}}}],["submitting",{"_index":36,"t":{"161":{"position":[[0,10]]}}}],["tail",{"_index":10,"t":{"20":{"position":[[24,5]]}}}],["tales",{"_index":8,"t":{"20":{"position":[[0,5]]}}}],["thresholds",{"_index":34,"t":{"140":{"position":[[19,10]]}}}],["tokens",{"_index":19,"t":{"60":{"position":[[10,6]]}}}],["usage",{"_index":47,"t":{"228":{"position":[[0,5]]},"242":{"position":[[0,5]]}}}],["using",{"_index":17,"t":{"60":{"position":[[0,5]]},"114":{"position":[[0,5]]}}}],["windows",{"_index":59,"t":{"286":{"position":[[14,7]]}}}],["working",{"_index":41,"t":{"188":{"position":[[0,7]]}}}],["writing",{"_index":23,"t":{"82":{"position":[[0,7]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":4,"t":"Groundlight has a Problem","u":"/python-sdk/blog/grime-guardian","h":"#groundlight-has-a-problem","p":2},{"i":6,"t":"Overview of the Application - The Grime Guardian","u":"/python-sdk/blog/grime-guardian","h":"#overview-of-the-application---the-grime-guardian","p":2},{"i":8,"t":"Architecture of a Sophisticated Groundlight Application","u":"/python-sdk/blog/grime-guardian","h":"#architecture-of-a-sophisticated-groundlight-application","p":2},{"i":10,"t":"Microservice-like Architecture","u":"/python-sdk/blog/grime-guardian","h":"#microservice-like-architecture","p":2},{"i":12,"t":"State Management and Notification Logic","u":"/python-sdk/blog/grime-guardian","h":"#state-management-and-notification-logic","p":2},{"i":14,"t":"Discord Bot Notifications","u":"/python-sdk/blog/grime-guardian","h":"#discord-bot-notifications","p":2},{"i":16,"t":"Future Improvements and Enhancements","u":"/python-sdk/blog/grime-guardian","h":"#future-improvements-and-enhancements","p":2},{"i":18,"t":"Build Your Own Grime Guardian","u":"/python-sdk/blog/grime-guardian","h":"#build-your-own-grime-guardian","p":2},{"i":22,"t":"Background","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#background","p":20},{"i":24,"t":"Test Set Accuracy and Coin Flips","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#test-set-accuracy-and-coin-flips","p":20},{"i":26,"t":"Upper Bounding the True Accuracy from Test Set Performance","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#upper-bounding-the-true-accuracy-from-test-set-performance","p":20},{"i":28,"t":"Constructing a 95% Upper Confidence Bound","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#constructing-a-95-upper-confidence-bound","p":20},{"i":30,"t":"Exact Upper Confidence Bounds based on the Binomial CDF","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#exact-upper-confidence-bounds-based-on-the-binomial-cdf","p":20},{"i":32,"t":"Lower Confidence Bounds","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#lower-confidence-bounds","p":20},{"i":34,"t":"Central Confidence Intervals","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#central-confidence-intervals","p":20},{"i":36,"t":"Confidence Bounds for Balanced Accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#confidence-bounds-for-balanced-accuracy","p":20},{"i":38,"t":"Constructing the Bound for Balanced Accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#constructing-the-bound-for-balanced-accuracy","p":20},{"i":40,"t":"Comparison with intervals based on the Normal approximation","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#comparison-with-intervals-based-on-the-normal-approximation","p":20},{"i":42,"t":"Conclusion","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#conclusion","p":20},{"i":44,"t":"References","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#references","p":20},{"i":46,"t":"Appendix A - the union bound","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#appendix-a---the-union-bound","p":20},{"i":48,"t":"Appendix B - interpretation of confidence intervals","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#appendix-b---interpretation-of-confidence-intervals","p":20},{"i":51,"t":"Computer Vision powered by Natural Language","u":"/python-sdk/docs/getting-started","h":"#computer-vision-powered-by-natural-language","p":50},{"i":53,"t":"How does it work?","u":"/python-sdk/docs/getting-started","h":"#how-does-it-work","p":50},{"i":55,"t":"Escalation Technology","u":"/python-sdk/docs/getting-started","h":"#escalation-technology","p":50},{"i":57,"t":"Building a simple visual application","u":"/python-sdk/docs/getting-started","h":"#building-a-simple-visual-application","p":50},{"i":62,"t":"Security Best Practices","u":"/python-sdk/docs/getting-started/api-tokens","h":"#security-best-practices","p":60},{"i":64,"t":"Managing Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#managing-tokens","p":60},{"i":66,"t":"Create a Token","u":"/python-sdk/docs/getting-started/api-tokens","h":"#create-a-token","p":60},{"i":68,"t":"Revoke a Token","u":"/python-sdk/docs/getting-started/api-tokens","h":"#revoke-a-token","p":60},{"i":72,"t":"Prerequisites","u":"/python-sdk/docs/getting-started/initial-setup","h":"#prerequisites","p":70},{"i":74,"t":"Install the Groundlight SDK","u":"/python-sdk/docs/getting-started/initial-setup","h":"#install-the-groundlight-sdk","p":70},{"i":76,"t":"Set your API token","u":"/python-sdk/docs/getting-started/initial-setup","h":"#set-your-api-token","p":70},{"i":78,"t":"Call the Groundlight API","u":"/python-sdk/docs/getting-started/initial-setup","h":"#call-the-groundlight-api","p":70},{"i":83,"t":"Introduction","u":"/python-sdk/docs/getting-started/writing-queries","h":"#introduction","p":82},{"i":85,"t":"Examples","u":"/python-sdk/docs/getting-started/writing-queries","h":"#examples","p":82},{"i":86,"t":"✅ Are there any cardboard boxes on the conveyor belt?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-are-there-any-cardboard-boxes-on-the-conveyor-belt","p":82},{"i":88,"t":"🟡 Is the trash can full?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-trash-can-full","p":82},{"i":90,"t":"✅ Is the garage door completely closed?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-garage-door-completely-closed","p":82},{"i":92,"t":"🟡 Is the weather nice out?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-weather-nice-out","p":82},{"i":94,"t":"❌ Where is the thing?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-where-is-the-thing","p":82},{"i":96,"t":"🟡 Is the factory floor clean and organized?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-factory-floor-clean-and-organized","p":82},{"i":100,"t":"Alert Configuration","u":"/python-sdk/docs/guide/alerts","h":"#alert-configuration","p":98},{"i":102,"t":"Alert Mediums","u":"/python-sdk/docs/guide/alerts","h":"#alert-mediums","p":98},{"i":106,"t":"How the Edge Endpoint Works","u":"/python-sdk/docs/guide/edge","h":"#how-the-edge-endpoint-works","p":104},{"i":108,"t":"Installing and Running the Edge Endpoint","u":"/python-sdk/docs/guide/edge","h":"#installing-and-running-the-edge-endpoint","p":104},{"i":110,"t":"Using the Edge Endpoint","u":"/python-sdk/docs/guide/edge","h":"#using-the-edge-endpoint","p":104},{"i":112,"t":"Edge Endpoint performance","u":"/python-sdk/docs/guide/edge","h":"#edge-endpoint-performance","p":104},{"i":116,"t":"Setup Submitting Machine","u":"/python-sdk/docs/guide/async-queries","h":"#setup-submitting-machine","p":114},{"i":118,"t":"Setup Retrieving Machine","u":"/python-sdk/docs/guide/async-queries","h":"#setup-retrieving-machine","p":114},{"i":120,"t":"Important Considerations","u":"/python-sdk/docs/guide/async-queries","h":"#important-considerations","p":114},{"i":124,"t":"Handling ApiException","u":"/python-sdk/docs/guide/handling-errors","h":"#handling-apiexception","p":122},{"i":126,"t":"Best Practices for Handling Exceptions","u":"/python-sdk/docs/guide/handling-errors","h":"#best-practices-for-handling-exceptions","p":122},{"i":128,"t":"Catch Specific Exceptions","u":"/python-sdk/docs/guide/handling-errors","h":"#catch-specific-exceptions","p":122},{"i":130,"t":"Use Custom Exception Classes","u":"/python-sdk/docs/guide/handling-errors","h":"#use-custom-exception-classes","p":122},{"i":132,"t":"Log Exceptions","u":"/python-sdk/docs/guide/handling-errors","h":"#log-exceptions","p":122},{"i":134,"t":"Implement Retry Logic","u":"/python-sdk/docs/guide/handling-errors","h":"#implement-retry-logic","p":122},{"i":136,"t":"Handle Exceptions Gracefully","u":"/python-sdk/docs/guide/handling-errors","h":"#handle-exceptions-gracefully","p":122},{"i":138,"t":"Test Your Error Handling","u":"/python-sdk/docs/guide/handling-errors","h":"#test-your-error-handling","p":122},{"i":141,"t":"Introduction to Confidence Thresholds","u":"/python-sdk/docs/guide/managing-confidence","h":"#introduction-to-confidence-thresholds","p":140},{"i":143,"t":"Configuring Timeouts","u":"/python-sdk/docs/guide/managing-confidence","h":"#configuring-timeouts","p":140},{"i":147,"t":"Framegrab","u":"/python-sdk/docs/guide/grabbing-images","h":"#framegrab","p":145},{"i":149,"t":"Capturing Images","u":"/python-sdk/docs/guide/grabbing-images","h":"#capturing-images","p":145},{"i":151,"t":"Motion Detection","u":"/python-sdk/docs/guide/grabbing-images","h":"#motion-detection","p":145},{"i":153,"t":"Image Formats","u":"/python-sdk/docs/guide/grabbing-images","h":"#image-formats","p":145},{"i":155,"t":"PIL","u":"/python-sdk/docs/guide/grabbing-images","h":"#pil","p":145},{"i":157,"t":"OpenCV","u":"/python-sdk/docs/guide/grabbing-images","h":"#opencv","p":145},{"i":159,"t":"Numpy","u":"/python-sdk/docs/guide/grabbing-images","h":"#numpy","p":145},{"i":163,"t":"Submit an Image Query","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#submit-an-image-query","p":161},{"i":165,"t":"Aliases for submit_image_query","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#aliases-for-submit_image_query","p":161},{"i":167,"t":"Get the first confident answer","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#get-the-first-confident-answer","p":161},{"i":169,"t":"Submit an ImageQuery asynchronously","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#submit-an-imagequery-asynchronously","p":161},{"i":171,"t":"(Advanced) Get the first available answer, regardless of confidence","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#advanced-get-the-first-available-answer-regardless-of-confidence","p":161},{"i":173,"t":"Working with Image Queries Post-Submission","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#working-with-image-queries-post-submission","p":161},{"i":174,"t":"Retrieve an Image Query result","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#retrieve-an-image-query-result","p":161},{"i":176,"t":"List your previous Image Queries","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#list-your-previous-image-queries","p":161},{"i":178,"t":"Add a label to an Image Query","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#add-a-label-to-an-image-query","p":161},{"i":182,"t":"Operating System Installation Guides","u":"/python-sdk/docs/installation","h":"#operating-system-installation-guides","p":180},{"i":184,"t":"Edge Device Installation Guides","u":"/python-sdk/docs/installation","h":"#edge-device-installation-guides","p":180},{"i":186,"t":"Alternative Groundlight Usage Options","u":"/python-sdk/docs/installation","h":"#alternative-groundlight-usage-options","p":180},{"i":189,"t":"Explicitly create a new detector","u":"/python-sdk/docs/guide/working-with-detectors","h":"#explicitly-create-a-new-detector","p":188},{"i":191,"t":"Retrieve an existing detector","u":"/python-sdk/docs/guide/working-with-detectors","h":"#retrieve-an-existing-detector","p":188},{"i":193,"t":"List your detectors","u":"/python-sdk/docs/guide/working-with-detectors","h":"#list-your-detectors","p":188},{"i":195,"t":"[BETA] Create a Counting Detector","u":"/python-sdk/docs/guide/working-with-detectors","h":"#beta-create-a-counting-detector","p":188},{"i":197,"t":"[BETA] Create a Multi-Class Detector","u":"/python-sdk/docs/guide/working-with-detectors","h":"#beta-create-a-multi-class-detector","p":188},{"i":200,"t":"Smaller is better!","u":"/python-sdk/docs/installation/optional-libraries","h":"#smaller-is-better","p":199},{"i":202,"t":"PIL - optional but default installed","u":"/python-sdk/docs/installation/optional-libraries","h":"#pil---optional-but-default-installed","p":199},{"i":204,"t":"Working without PIL","u":"/python-sdk/docs/installation/optional-libraries","h":"#working-without-pil","p":199},{"i":206,"t":"Numpy, OpenCV - fully optional","u":"/python-sdk/docs/installation/optional-libraries","h":"#numpy-opencv---fully-optional","p":199},{"i":210,"t":"Prerequisites","u":"/python-sdk/docs/installation/linux","h":"#prerequisites","p":208},{"i":212,"t":"Basic Installation","u":"/python-sdk/docs/installation/linux","h":"#basic-installation","p":208},{"i":214,"t":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/linux","h":"#installing-groundlight-sdk","p":208},{"i":216,"t":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/linux","h":"#checking-groundlight-sdk-version","p":208},{"i":218,"t":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/linux","h":"#upgrading-groundlight-sdk","p":208},{"i":220,"t":"Getting the right Python Version","u":"/python-sdk/docs/installation/linux","h":"#getting-the-right-python-version","p":208},{"i":222,"t":"Upgrading Python on Linux","u":"/python-sdk/docs/installation/linux","h":"#upgrading-python-on-linux","p":208},{"i":224,"t":"Special note about Ubuntu 18.04","u":"/python-sdk/docs/installation/linux","h":"#special-note-about-ubuntu-1804","p":208},{"i":226,"t":"Ready to go!","u":"/python-sdk/docs/installation/linux","h":"#ready-to-go","p":208},{"i":230,"t":"Prerequisites","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#prerequisites","p":228},{"i":232,"t":"Basic Installation","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#basic-installation","p":228},{"i":234,"t":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#installing-groundlight-sdk","p":228},{"i":236,"t":"Using RTSP Streams","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#using-rtsp-streams","p":228},{"i":238,"t":"Sample application","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#sample-application","p":228},{"i":240,"t":"Ready to go!","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#ready-to-go","p":228},{"i":244,"t":"Prerequisites","u":"/python-sdk/docs/installation/raspberry-pi","h":"#prerequisites","p":242},{"i":246,"t":"Basic Installation","u":"/python-sdk/docs/installation/raspberry-pi","h":"#basic-installation","p":242},{"i":248,"t":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/raspberry-pi","h":"#installing-groundlight-sdk","p":242},{"i":250,"t":"Using RTSP Streams","u":"/python-sdk/docs/installation/raspberry-pi","h":"#using-rtsp-streams","p":242},{"i":252,"t":"Sample application","u":"/python-sdk/docs/installation/raspberry-pi","h":"#sample-application","p":242},{"i":254,"t":"Ready to go!","u":"/python-sdk/docs/installation/raspberry-pi","h":"#ready-to-go","p":242},{"i":258,"t":"Easy Deployment","u":"/python-sdk/docs/other-ways-to-use/esp32cam","h":"#easy-deployment","p":256},{"i":260,"t":"Notification Options","u":"/python-sdk/docs/other-ways-to-use/esp32cam","h":"#notification-options","p":256},{"i":262,"t":"Multiple Supported Boards","u":"/python-sdk/docs/other-ways-to-use/esp32cam","h":"#multiple-supported-boards","p":256},{"i":264,"t":"Source Code","u":"/python-sdk/docs/other-ways-to-use/esp32cam","h":"#source-code","p":256},{"i":268,"t":"Prerequisites","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#prerequisites","p":266},{"i":270,"t":"Using the Application","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#using-the-application","p":266},{"i":272,"t":"MNS Home Page","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#mns-home-page","p":266},{"i":273,"t":"Detector Dashboard","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#detector-dashboard","p":266},{"i":274,"t":"Running the server","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#running-the-server","p":266},{"i":276,"t":"Running with Docker Compose","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#running-with-docker-compose","p":266},{"i":278,"t":"Running from Docker Compose on 32-bit ARM (armv7)","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#running-from-docker-compose-on-32-bit-arm-armv7","p":266},{"i":280,"t":"Running with AWS Greengrass","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#running-with-aws-greengrass","p":266},{"i":282,"t":"Running with Kubernetes","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#running-with-kubernetes","p":266},{"i":284,"t":"Building from Source","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#building-from-source","p":266},{"i":288,"t":"Prerequisites","u":"/python-sdk/docs/installation/windows","h":"#prerequisites","p":286},{"i":290,"t":"Basic Installation","u":"/python-sdk/docs/installation/windows","h":"#basic-installation","p":286},{"i":292,"t":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/windows","h":"#installing-groundlight-sdk","p":286},{"i":294,"t":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/windows","h":"#checking-groundlight-sdk-version","p":286},{"i":296,"t":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/windows","h":"#upgrading-groundlight-sdk","p":286},{"i":298,"t":"Getting the right Python Version","u":"/python-sdk/docs/installation/windows","h":"#getting-the-right-python-version","p":286},{"i":300,"t":"Upgrading Python on Windows","u":"/python-sdk/docs/installation/windows","h":"#upgrading-python-on-windows","p":286},{"i":302,"t":"Ready to go!","u":"/python-sdk/docs/installation/windows","h":"#ready-to-go","p":286},{"i":306,"t":"Prerequisites:","u":"/python-sdk/docs/other-ways-to-use/stream-processor","h":"#prerequisites","p":304},{"i":308,"t":"Create a Detector via the Groundlight Dashboard","u":"/python-sdk/docs/other-ways-to-use/stream-processor","h":"#create-a-detector-via-the-groundlight-dashboard","p":304},{"i":310,"t":"Processing a Stream","u":"/python-sdk/docs/other-ways-to-use/stream-processor","h":"#processing-a-stream","p":304},{"i":312,"t":"Combining with Groundlight Alerts","u":"/python-sdk/docs/other-ways-to-use/stream-processor","h":"#combining-with-groundlight-alerts","p":304},{"i":316,"t":"Prerequisites","u":"/python-sdk/docs/installation/macos","h":"#prerequisites","p":314},{"i":318,"t":"Basic Installation","u":"/python-sdk/docs/installation/macos","h":"#basic-installation","p":314},{"i":320,"t":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/macos","h":"#installing-groundlight-sdk","p":314},{"i":322,"t":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/macos","h":"#checking-groundlight-sdk-version","p":314},{"i":324,"t":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/macos","h":"#upgrading-groundlight-sdk","p":314},{"i":326,"t":"Getting the right Python Version","u":"/python-sdk/docs/installation/macos","h":"#getting-the-right-python-version","p":314},{"i":328,"t":"Upgrading Python on MacOS","u":"/python-sdk/docs/installation/macos","h":"#upgrading-python-on-macos","p":314},{"i":330,"t":"Ready to go!","u":"/python-sdk/docs/installation/macos","h":"#ready-to-go","p":314},{"i":334,"t":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/sample-applications","h":"#industrial-and-manufacturing-applications","p":332},{"i":336,"t":"Retail Analytics Solution","u":"/python-sdk/docs/sample-applications","h":"#retail-analytics-solution","p":332},{"i":338,"t":"Fun Project: Dog-on-Couch Detector","u":"/python-sdk/docs/sample-applications","h":"#fun-project-dog-on-couch-detector","p":332},{"i":340,"t":"Live Stream Monitor: Bird Feeder Edition","u":"/python-sdk/docs/sample-applications","h":"#live-stream-monitor-bird-feeder-edition","p":332},{"i":344,"t":"Machine Tending","u":"/python-sdk/docs/sample-applications/industrial","h":"#machine-tending","p":342},{"i":346,"t":"Process Automation","u":"/python-sdk/docs/sample-applications/industrial","h":"#process-automation","p":342},{"i":348,"t":"Quality Control","u":"/python-sdk/docs/sample-applications/industrial","h":"#quality-control","p":342},{"i":350,"t":"Integration with Cobots and CNC Machines","u":"/python-sdk/docs/sample-applications/industrial","h":"#integration-with-cobots-and-cnc-machines","p":342},{"i":352,"t":"Contact Sales","u":"/python-sdk/docs/sample-applications/industrial","h":"","p":342},{"i":356,"t":"Requirements","u":"/python-sdk/docs/sample-applications/dog-on-couch","h":"#requirements","p":354},{"i":358,"t":"Installation","u":"/python-sdk/docs/sample-applications/dog-on-couch","h":"#installation","p":354},{"i":360,"t":"Creating the Application","u":"/python-sdk/docs/sample-applications/dog-on-couch","h":"#creating-the-application","p":354},{"i":363,"t":"Tracking utilization of a customer service counter","u":"/python-sdk/docs/sample-applications/retail-analytics","h":"#tracking-utilization-of-a-customer-service-counter","p":362},{"i":365,"t":"Requirements","u":"/python-sdk/docs/sample-applications/retail-analytics","h":"#requirements","p":362},{"i":367,"t":"Installation","u":"/python-sdk/docs/sample-applications/retail-analytics","h":"#installation","p":362},{"i":369,"t":"Creating the Application","u":"/python-sdk/docs/sample-applications/retail-analytics","h":"#creating-the-application","p":362},{"i":373,"t":"Requirements","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","h":"#requirements","p":371},{"i":375,"t":"Installation","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","h":"#installation","p":371},{"i":377,"t":"Creating the Monitor","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","h":"#creating-the-monitor","p":371},{"i":379,"t":"Additional Options","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","h":"#additional-options","p":371}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/4",[0,2.493,1,5.356]],["t/6",[2,4.037,3,2.547,4,3.598,5,3.598]],["t/8",[0,1.879,3,2.547,6,3.598,7,4.037]],["t/10",[6,4.774,8,5.356]],["t/12",[9,4.037,10,4.037,11,3.598,12,3.598]],["t/14",[13,4.604,14,4.604,15,4.604]],["t/16",[16,4.604,17,4.604,18,4.604]],["t/18",[4,4.104,5,4.104,19,4.604]],["t/22",[20,6.402]],["t/24",[21,2.947,22,2.947,23,2.754,24,3.594,25,3.594]],["t/26",[21,2.417,22,2.417,23,2.259,26,2.417,27,2.948,28,2.948,29,2.628]],["t/28",[26,2.947,30,3.204,31,3.594,32,2.268,33,2.947]],["t/30",[26,2.417,32,1.86,34,2.948,35,2.417,36,2.628,37,2.948,38,2.948]],["t/32",[32,2.905,35,3.774,39,4.604]],["t/34",[32,2.905,40,4.604,41,3.774]],["t/36",[23,3.093,32,2.547,35,3.309,42,3.598]],["t/38",[23,3.093,30,3.598,33,3.309,42,3.598]],["t/40",[36,3.204,41,2.947,43,3.594,44,3.594,45,3.594]],["t/42",[46,6.402]],["t/44",[47,6.402]],["t/46",[33,3.774,48,4.104,49,4.604]],["t/48",[32,2.268,41,2.947,48,3.204,50,3.594,51,3.594]],["t/51",[52,3.594,53,3.594,54,3.594,55,3.594,56,3.594]],["t/53",[57,6.402]],["t/55",[58,5.356,59,5.356]],["t/57",[3,2.547,60,3.598,61,4.037,62,4.037]],["t/62",[63,4.604,64,4.104,65,4.104]],["t/64",[66,5.356,67,5.356]],["t/66",[68,3.875,69,4.39]],["t/68",[69,4.39,70,5.356]],["t/72",[71,4.039]],["t/74",[0,2.143,72,4.604,73,2.527]],["t/76",[22,3.774,69,3.774,74,4.104]],["t/78",[0,2.143,74,4.104,75,4.604]],["t/83",[76,5.706]],["t/85",[77,6.402]],["t/86",[78,2.473,79,3.594,80,3.594,81,3.594,82,3.594]],["t/88",[78,3.168,83,4.604,84,4.604]],["t/90",[78,2.473,85,3.594,86,3.594,87,3.594,88,3.594]],["t/92",[78,2.778,89,4.037,90,4.037,91,4.037]],["t/94",[78,3.685,92,5.356]],["t/96",[78,2.473,93,3.594,94,3.594,95,3.594,96,3.594]],["t/100",[97,4.774,98,5.356]],["t/102",[97,4.774,99,5.356]],["t/106",[100,3.331,101,3.528,102,4.604]],["t/108",[100,2.921,101,3.093,103,2.778,104,2.778]],["t/110",[100,3.331,101,3.528,105,3.528]],["t/112",[29,4.104,100,3.331,101,3.528]],["t/116",[106,4.104,107,4.604,108,3.774]],["t/118",[106,4.104,108,3.774,109,4.604]],["t/120",[110,5.356,111,5.356]],["t/124",[112,4.39,113,5.356]],["t/126",[64,3.598,65,3.598,112,3.309,114,3.093]],["t/128",[114,3.528,115,4.604,116,4.604]],["t/130",[117,4.037,118,4.037,119,4.037,120,4.037]],["t/132",[114,4.104,121,5.356]],["t/134",[12,4.104,122,4.604,123,4.604]],["t/136",[114,3.528,124,4.604,125,4.604]],["t/138",[21,3.774,112,3.774,126,4.604]],["t/141",[32,2.905,76,4.104,127,4.604]],["t/143",[128,5.356,129,5.356]],["t/147",[130,6.402]],["t/149",[131,5.356,132,5.356]],["t/151",[133,5.356,134,5.356]],["t/153",[135,3.685,136,5.356]],["t/155",[137,5.248]],["t/157",[138,5.706]],["t/159",[139,5.706]],["t/163",[135,3.168,140,4.104,141,3.774]],["t/165",[142,5.356,143,5.356]],["t/167",[144,4.104,145,4.604,146,4.104]],["t/169",[140,4.104,147,4.604,148,4.604]],["t/171",[32,2.044,144,2.887,146,2.887,149,3.239,150,3.239,151,3.239]],["t/173",[135,2.473,152,3.204,153,3.204,154,3.594,155,3.594]],["t/174",[135,2.778,141,3.309,156,3.598,157,4.037]],["t/176",[135,2.778,153,3.598,158,3.598,159,4.037]],["t/178",[135,2.778,141,3.309,160,4.037,161,4.037]],["t/182",[162,4.037,163,4.037,164,2.366,165,3.598]],["t/184",[100,2.921,164,2.366,165,3.598,166,4.037]],["t/186",[0,1.879,167,4.037,168,4.037,169,3.309]],["t/189",[68,2.921,170,4.037,171,4.037,172,2.655]],["t/191",[156,4.104,172,3.028,173,4.604]],["t/193",[158,4.774,174,5.356]],["t/195",[68,2.921,172,2.655,175,3.598,176,4.037]],["t/197",[68,2.601,172,2.364,175,3.204,177,3.594,178,3.594]],["t/200",[179,5.356,180,5.356]],["t/202",[137,3.309,181,3.598,182,4.037,183,4.037]],["t/204",[137,3.774,152,4.104,184,4.604]],["t/206",[138,3.598,139,3.598,181,3.598,185,4.037]],["t/210",[71,4.039]],["t/212",[164,3.139,186,3.875]],["t/214",[0,2.143,73,2.527,103,3.168]],["t/216",[0,1.879,73,2.216,187,3.309,188,2.778]],["t/218",[0,2.143,73,2.527,189,3.168]],["t/220",[188,2.778,190,3.309,191,3.309,192,2.778]],["t/222",[189,3.168,192,3.168,193,4.604]],["t/224",[194,4.037,195,4.037,196,4.037,197,4.037]],["t/226",[198,3.875,199,3.875]],["t/230",[71,4.039]],["t/232",[164,3.139,186,3.875]],["t/234",[0,2.143,73,2.527,103,3.168]],["t/236",[105,3.528,200,4.104,201,4.104]],["t/238",[3,3.379,202,4.774]],["t/240",[198,3.875,199,3.875]],["t/244",[71,4.039]],["t/246",[164,3.139,186,3.875]],["t/248",[0,2.143,73,2.527,103,3.168]],["t/250",[105,3.528,200,4.104,201,4.104]],["t/252",[3,3.379,202,4.774]],["t/254",[198,3.875,199,3.875]],["t/258",[203,5.356,204,5.356]],["t/260",[11,4.774,169,4.39]],["t/262",[205,4.604,206,4.604,207,4.604]],["t/264",[208,4.774,209,5.356]],["t/268",[71,4.039]],["t/270",[3,3.379,105,4.104]],["t/272",[210,4.604,211,4.604,212,4.604]],["t/273",[172,3.522,213,4.774]],["t/274",[104,3.685,214,5.356]],["t/276",[104,3.168,215,4.104,216,4.104]],["t/278",[104,2.028,215,2.628,216,2.628,217,2.948,218,2.948,219,2.948,220,2.948]],["t/280",[104,3.168,221,4.604,222,4.604]],["t/282",[104,3.685,223,5.356]],["t/284",[60,4.774,208,4.774]],["t/288",[71,4.039]],["t/290",[164,3.139,186,3.875]],["t/292",[0,2.143,73,2.527,103,3.168]],["t/294",[0,1.879,73,2.216,187,3.309,188,2.778]],["t/296",[0,2.143,73,2.527,189,3.168]],["t/298",[188,2.778,190,3.309,191,3.309,192,2.778]],["t/300",[189,3.168,192,3.168,224,4.604]],["t/302",[198,3.875,199,3.875]],["t/306",[71,4.039]],["t/308",[0,1.673,68,2.601,172,2.364,213,3.204,225,3.594]],["t/310",[226,5.356,227,4.774]],["t/312",[0,2.143,228,4.604,229,4.604]],["t/316",[71,4.039]],["t/318",[164,3.139,186,3.875]],["t/320",[0,2.143,73,2.527,103,3.168]],["t/322",[0,1.879,73,2.216,187,3.309,188,2.778]],["t/324",[0,2.143,73,2.527,189,3.168]],["t/326",[188,2.778,190,3.309,191,3.309,192,2.778]],["t/328",[189,3.168,192,3.168,230,4.604]],["t/330",[198,3.875,199,3.875]],["t/334",[231,4.604,232,4.604,233,4.604]],["t/336",[234,4.604,235,4.604,236,4.604]],["t/338",[172,2.364,237,3.594,238,3.594,239,3.594,240,3.594]],["t/340",[227,2.887,241,3.239,242,2.887,243,3.239,244,3.239,245,3.239]],["t/344",[108,4.39,246,5.356]],["t/346",[247,5.356,248,5.356]],["t/348",[249,5.356,250,5.356]],["t/350",[251,4.037,252,4.037,253,4.037,254,4.037]],["t/352",[255,5.356,256,5.356]],["t/356",[257,5.248]],["t/358",[164,3.751]],["t/360",[3,3.379,258,4.39]],["t/363",[259,3.594,260,3.594,261,3.594,262,3.594,263,3.594]],["t/365",[257,5.248]],["t/367",[164,3.751]],["t/369",[3,3.379,258,4.39]],["t/373",[257,5.248]],["t/375",[164,3.751]],["t/377",[242,4.774,258,4.39]],["t/379",[169,4.39,264,5.356]]],"invertedIndex":[["",{"_index":78,"t":{"86":{"position":[[0,1]]},"88":{"position":[[0,2]]},"90":{"position":[[0,1]]},"92":{"position":[[0,2]]},"94":{"position":[[0,1]]},"96":{"position":[[0,2]]}}}],["18.04",{"_index":197,"t":{"224":{"position":[[26,5]]}}}],["32",{"_index":217,"t":{"278":{"position":[[31,2]]}}}],["95",{"_index":31,"t":{"28":{"position":[[15,3]]}}}],["accuracy",{"_index":23,"t":{"24":{"position":[[9,8]]},"26":{"position":[[24,8]]},"36":{"position":[[31,8]]},"38":{"position":[[36,8]]}}}],["add",{"_index":160,"t":{"178":{"position":[[0,3]]}}}],["additional",{"_index":264,"t":{"379":{"position":[[0,10]]}}}],["advanced",{"_index":149,"t":{"171":{"position":[[0,10]]}}}],["alert",{"_index":97,"t":{"100":{"position":[[0,5]]},"102":{"position":[[0,5]]}}}],["alerts",{"_index":229,"t":{"312":{"position":[[27,6]]}}}],["aliases",{"_index":142,"t":{"165":{"position":[[0,7]]}}}],["alternative",{"_index":167,"t":{"186":{"position":[[0,11]]}}}],["analytics",{"_index":235,"t":{"336":{"position":[[7,9]]}}}],["answer",{"_index":146,"t":{"167":{"position":[[24,6]]},"171":{"position":[[35,7]]}}}],["api",{"_index":74,"t":{"76":{"position":[[9,3]]},"78":{"position":[[21,3]]}}}],["apiexception",{"_index":113,"t":{"124":{"position":[[9,12]]}}}],["appendix",{"_index":48,"t":{"46":{"position":[[0,8]]},"48":{"position":[[0,8]]}}}],["application",{"_index":3,"t":{"6":{"position":[[16,11]]},"8":{"position":[[44,11]]},"57":{"position":[[25,11]]},"238":{"position":[[7,11]]},"252":{"position":[[7,11]]},"270":{"position":[[10,11]]},"360":{"position":[[13,11]]},"369":{"position":[[13,11]]}}}],["applications",{"_index":233,"t":{"334":{"position":[[29,12]]}}}],["approximation",{"_index":45,"t":{"40":{"position":[[46,13]]}}}],["architecture",{"_index":6,"t":{"8":{"position":[[0,12]]},"10":{"position":[[18,12]]}}}],["arm",{"_index":219,"t":{"278":{"position":[[38,3]]}}}],["armv7",{"_index":220,"t":{"278":{"position":[[42,7]]}}}],["asynchronously",{"_index":148,"t":{"169":{"position":[[21,14]]}}}],["automation",{"_index":248,"t":{"346":{"position":[[8,10]]}}}],["available",{"_index":150,"t":{"171":{"position":[[25,9]]}}}],["aws",{"_index":221,"t":{"280":{"position":[[13,3]]}}}],["b",{"_index":50,"t":{"48":{"position":[[9,1]]}}}],["background",{"_index":20,"t":{"22":{"position":[[0,10]]}}}],["balanced",{"_index":42,"t":{"36":{"position":[[22,8]]},"38":{"position":[[27,8]]}}}],["based",{"_index":36,"t":{"30":{"position":[[30,5]]},"40":{"position":[[26,5]]}}}],["basic",{"_index":186,"t":{"212":{"position":[[0,5]]},"232":{"position":[[0,5]]},"246":{"position":[[0,5]]},"290":{"position":[[0,5]]},"318":{"position":[[0,5]]}}}],["belt",{"_index":82,"t":{"86":{"position":[[48,5]]}}}],["best",{"_index":64,"t":{"62":{"position":[[9,4]]},"126":{"position":[[0,4]]}}}],["beta",{"_index":175,"t":{"195":{"position":[[0,6]]},"197":{"position":[[0,6]]}}}],["better",{"_index":180,"t":{"200":{"position":[[11,7]]}}}],["binomial",{"_index":37,"t":{"30":{"position":[[43,8]]}}}],["bird",{"_index":243,"t":{"340":{"position":[[21,4]]}}}],["bit",{"_index":218,"t":{"278":{"position":[[34,3]]}}}],["boards",{"_index":207,"t":{"262":{"position":[[19,6]]}}}],["bot",{"_index":14,"t":{"14":{"position":[[8,3]]}}}],["bound",{"_index":33,"t":{"28":{"position":[[36,5]]},"38":{"position":[[17,5]]},"46":{"position":[[23,5]]}}}],["bounding",{"_index":27,"t":{"26":{"position":[[6,8]]}}}],["bounds",{"_index":35,"t":{"30":{"position":[[23,6]]},"32":{"position":[[17,6]]},"36":{"position":[[11,6]]}}}],["boxes",{"_index":80,"t":{"86":{"position":[[26,5]]}}}],["build",{"_index":19,"t":{"18":{"position":[[0,5]]}}}],["building",{"_index":60,"t":{"57":{"position":[[0,8]]},"284":{"position":[[0,8]]}}}],["call",{"_index":75,"t":{"78":{"position":[[0,4]]}}}],["capturing",{"_index":131,"t":{"149":{"position":[[0,9]]}}}],["cardboard",{"_index":79,"t":{"86":{"position":[[16,9]]}}}],["catch",{"_index":115,"t":{"128":{"position":[[0,5]]}}}],["cdf",{"_index":38,"t":{"30":{"position":[[52,3]]}}}],["central",{"_index":40,"t":{"34":{"position":[[0,7]]}}}],["checking",{"_index":187,"t":{"216":{"position":[[0,8]]},"294":{"position":[[0,8]]},"322":{"position":[[0,8]]}}}],["class",{"_index":178,"t":{"197":{"position":[[22,5]]}}}],["classes",{"_index":120,"t":{"130":{"position":[[21,7]]}}}],["clean",{"_index":95,"t":{"96":{"position":[[24,5]]}}}],["closed",{"_index":88,"t":{"90":{"position":[[32,7]]}}}],["cnc",{"_index":253,"t":{"350":{"position":[[28,3]]}}}],["cobots",{"_index":252,"t":{"350":{"position":[[17,6]]}}}],["code",{"_index":209,"t":{"264":{"position":[[7,4]]}}}],["coin",{"_index":24,"t":{"24":{"position":[[22,4]]}}}],["combining",{"_index":228,"t":{"312":{"position":[[0,9]]}}}],["comparison",{"_index":43,"t":{"40":{"position":[[0,10]]}}}],["completely",{"_index":87,"t":{"90":{"position":[[21,10]]}}}],["compose",{"_index":216,"t":{"276":{"position":[[20,7]]},"278":{"position":[[20,7]]}}}],["computer",{"_index":52,"t":{"51":{"position":[[0,8]]}}}],["conclusion",{"_index":46,"t":{"42":{"position":[[0,10]]}}}],["confidence",{"_index":32,"t":{"28":{"position":[[25,10]]},"30":{"position":[[12,10]]},"32":{"position":[[6,10]]},"34":{"position":[[8,10]]},"36":{"position":[[0,10]]},"48":{"position":[[31,10]]},"141":{"position":[[16,10]]},"171":{"position":[[57,10]]}}}],["confident",{"_index":145,"t":{"167":{"position":[[14,9]]}}}],["configuration",{"_index":98,"t":{"100":{"position":[[6,13]]}}}],["configuring",{"_index":128,"t":{"143":{"position":[[0,11]]}}}],["considerations",{"_index":111,"t":{"120":{"position":[[10,14]]}}}],["constructing",{"_index":30,"t":{"28":{"position":[[0,12]]},"38":{"position":[[0,12]]}}}],["contact",{"_index":255,"t":{"352":{"position":[[0,7]]}}}],["control",{"_index":250,"t":{"348":{"position":[[8,7]]}}}],["conveyor",{"_index":81,"t":{"86":{"position":[[39,8]]}}}],["couch",{"_index":240,"t":{"338":{"position":[[20,5]]}}}],["counter",{"_index":263,"t":{"363":{"position":[[43,7]]}}}],["counting",{"_index":176,"t":{"195":{"position":[[16,8]]}}}],["create",{"_index":68,"t":{"66":{"position":[[0,6]]},"189":{"position":[[11,6]]},"195":{"position":[[7,6]]},"197":{"position":[[7,6]]},"308":{"position":[[0,6]]}}}],["creating",{"_index":258,"t":{"360":{"position":[[0,8]]},"369":{"position":[[0,8]]},"377":{"position":[[0,8]]}}}],["custom",{"_index":118,"t":{"130":{"position":[[4,6]]}}}],["customer",{"_index":261,"t":{"363":{"position":[[26,8]]}}}],["dashboard",{"_index":213,"t":{"273":{"position":[[9,9]]},"308":{"position":[[38,9]]}}}],["default",{"_index":182,"t":{"202":{"position":[[19,7]]}}}],["deployment",{"_index":204,"t":{"258":{"position":[[5,10]]}}}],["detection",{"_index":134,"t":{"151":{"position":[[7,9]]}}}],["detector",{"_index":172,"t":{"189":{"position":[[24,8]]},"191":{"position":[[21,8]]},"195":{"position":[[25,8]]},"197":{"position":[[28,8]]},"273":{"position":[[0,8]]},"308":{"position":[[9,8]]},"338":{"position":[[26,8]]}}}],["detectors",{"_index":174,"t":{"193":{"position":[[10,9]]}}}],["device",{"_index":166,"t":{"184":{"position":[[5,6]]}}}],["discord",{"_index":13,"t":{"14":{"position":[[0,7]]}}}],["docker",{"_index":215,"t":{"276":{"position":[[13,6]]},"278":{"position":[[13,6]]}}}],["dog",{"_index":239,"t":{"338":{"position":[[13,3]]}}}],["door",{"_index":86,"t":{"90":{"position":[[16,4]]}}}],["easy",{"_index":203,"t":{"258":{"position":[[0,4]]}}}],["edge",{"_index":100,"t":{"106":{"position":[[8,4]]},"108":{"position":[[27,4]]},"110":{"position":[[10,4]]},"112":{"position":[[0,4]]},"184":{"position":[[0,4]]}}}],["edition",{"_index":245,"t":{"340":{"position":[[33,7]]}}}],["endpoint",{"_index":101,"t":{"106":{"position":[[13,8]]},"108":{"position":[[32,8]]},"110":{"position":[[15,8]]},"112":{"position":[[5,8]]}}}],["enhancements",{"_index":18,"t":{"16":{"position":[[24,12]]}}}],["error",{"_index":126,"t":{"138":{"position":[[10,5]]}}}],["escalation",{"_index":58,"t":{"55":{"position":[[0,10]]}}}],["exact",{"_index":34,"t":{"30":{"position":[[0,5]]}}}],["examples",{"_index":77,"t":{"85":{"position":[[0,8]]}}}],["exception",{"_index":119,"t":{"130":{"position":[[11,9]]}}}],["exceptions",{"_index":114,"t":{"126":{"position":[[28,10]]},"128":{"position":[[15,10]]},"132":{"position":[[4,10]]},"136":{"position":[[7,10]]}}}],["existing",{"_index":173,"t":{"191":{"position":[[12,8]]}}}],["explicitly",{"_index":170,"t":{"189":{"position":[[0,10]]}}}],["factory",{"_index":93,"t":{"96":{"position":[[10,7]]}}}],["feeder",{"_index":244,"t":{"340":{"position":[[26,6]]}}}],["first",{"_index":144,"t":{"167":{"position":[[8,5]]},"171":{"position":[[19,5]]}}}],["flips",{"_index":25,"t":{"24":{"position":[[27,5]]}}}],["floor",{"_index":94,"t":{"96":{"position":[[18,5]]}}}],["formats",{"_index":136,"t":{"153":{"position":[[6,7]]}}}],["framegrab",{"_index":130,"t":{"147":{"position":[[0,9]]}}}],["full",{"_index":84,"t":{"88":{"position":[[20,5]]}}}],["fully",{"_index":185,"t":{"206":{"position":[[16,5]]}}}],["fun",{"_index":237,"t":{"338":{"position":[[0,3]]}}}],["future",{"_index":16,"t":{"16":{"position":[[0,6]]}}}],["garage",{"_index":85,"t":{"90":{"position":[[9,6]]}}}],["getting",{"_index":190,"t":{"220":{"position":[[0,7]]},"298":{"position":[[0,7]]},"326":{"position":[[0,7]]}}}],["go",{"_index":199,"t":{"226":{"position":[[9,3]]},"240":{"position":[[9,3]]},"254":{"position":[[9,3]]},"302":{"position":[[9,3]]},"330":{"position":[[9,3]]}}}],["gracefully",{"_index":125,"t":{"136":{"position":[[18,10]]}}}],["greengrass",{"_index":222,"t":{"280":{"position":[[17,10]]}}}],["grime",{"_index":4,"t":{"6":{"position":[[34,5]]},"18":{"position":[[15,5]]}}}],["groundlight",{"_index":0,"t":{"4":{"position":[[0,11]]},"8":{"position":[[32,11]]},"74":{"position":[[12,11]]},"78":{"position":[[9,11]]},"186":{"position":[[12,11]]},"214":{"position":[[11,11]]},"216":{"position":[[9,11]]},"218":{"position":[[10,11]]},"234":{"position":[[11,11]]},"248":{"position":[[11,11]]},"292":{"position":[[11,11]]},"294":{"position":[[9,11]]},"296":{"position":[[10,11]]},"308":{"position":[[26,11]]},"312":{"position":[[15,11]]},"320":{"position":[[11,11]]},"322":{"position":[[9,11]]},"324":{"position":[[10,11]]}}}],["guardian",{"_index":5,"t":{"6":{"position":[[40,8]]},"18":{"position":[[21,8]]}}}],["guides",{"_index":165,"t":{"182":{"position":[[30,6]]},"184":{"position":[[25,6]]}}}],["handle",{"_index":124,"t":{"136":{"position":[[0,6]]}}}],["handling",{"_index":112,"t":{"124":{"position":[[0,8]]},"126":{"position":[[19,8]]},"138":{"position":[[16,8]]}}}],["home",{"_index":211,"t":{"272":{"position":[[4,4]]}}}],["image",{"_index":135,"t":{"153":{"position":[[0,5]]},"163":{"position":[[10,5]]},"173":{"position":[[13,5]]},"174":{"position":[[12,5]]},"176":{"position":[[19,5]]},"178":{"position":[[18,5]]}}}],["imagequery",{"_index":147,"t":{"169":{"position":[[10,10]]}}}],["images",{"_index":132,"t":{"149":{"position":[[10,6]]}}}],["implement",{"_index":122,"t":{"134":{"position":[[0,9]]}}}],["important",{"_index":110,"t":{"120":{"position":[[0,9]]}}}],["improvements",{"_index":17,"t":{"16":{"position":[[7,12]]}}}],["industrial",{"_index":231,"t":{"334":{"position":[[0,10]]}}}],["install",{"_index":72,"t":{"74":{"position":[[0,7]]}}}],["installation",{"_index":164,"t":{"182":{"position":[[17,12]]},"184":{"position":[[12,12]]},"212":{"position":[[6,12]]},"232":{"position":[[6,12]]},"246":{"position":[[6,12]]},"290":{"position":[[6,12]]},"318":{"position":[[6,12]]},"358":{"position":[[0,12]]},"367":{"position":[[0,12]]},"375":{"position":[[0,12]]}}}],["installed",{"_index":183,"t":{"202":{"position":[[27,9]]}}}],["installing",{"_index":103,"t":{"108":{"position":[[0,10]]},"214":{"position":[[0,10]]},"234":{"position":[[0,10]]},"248":{"position":[[0,10]]},"292":{"position":[[0,10]]},"320":{"position":[[0,10]]}}}],["integration",{"_index":251,"t":{"350":{"position":[[0,11]]}}}],["interpretation",{"_index":51,"t":{"48":{"position":[[13,14]]}}}],["intervals",{"_index":41,"t":{"34":{"position":[[19,9]]},"40":{"position":[[16,9]]},"48":{"position":[[42,9]]}}}],["introduction",{"_index":76,"t":{"83":{"position":[[0,12]]},"141":{"position":[[0,12]]}}}],["kubernetes",{"_index":223,"t":{"282":{"position":[[13,10]]}}}],["label",{"_index":161,"t":{"178":{"position":[[6,5]]}}}],["language",{"_index":56,"t":{"51":{"position":[[35,8]]}}}],["linux",{"_index":193,"t":{"222":{"position":[[20,5]]}}}],["list",{"_index":158,"t":{"176":{"position":[[0,4]]},"193":{"position":[[0,4]]}}}],["live",{"_index":241,"t":{"340":{"position":[[0,4]]}}}],["log",{"_index":121,"t":{"132":{"position":[[0,3]]}}}],["logic",{"_index":12,"t":{"12":{"position":[[34,5]]},"134":{"position":[[16,5]]}}}],["lower",{"_index":39,"t":{"32":{"position":[[0,5]]}}}],["machine",{"_index":108,"t":{"116":{"position":[[17,7]]},"118":{"position":[[17,7]]},"344":{"position":[[0,7]]}}}],["machines",{"_index":254,"t":{"350":{"position":[[32,8]]}}}],["macos",{"_index":230,"t":{"328":{"position":[[20,5]]}}}],["management",{"_index":10,"t":{"12":{"position":[[6,10]]}}}],["managing",{"_index":66,"t":{"64":{"position":[[0,8]]}}}],["manufacturing",{"_index":232,"t":{"334":{"position":[[15,13]]}}}],["mediums",{"_index":99,"t":{"102":{"position":[[6,7]]}}}],["microservice",{"_index":8,"t":{"10":{"position":[[0,12]]}}}],["mns",{"_index":210,"t":{"272":{"position":[[0,3]]}}}],["monitor",{"_index":242,"t":{"340":{"position":[[12,8]]},"377":{"position":[[13,7]]}}}],["motion",{"_index":133,"t":{"151":{"position":[[0,6]]}}}],["multi",{"_index":177,"t":{"197":{"position":[[16,5]]}}}],["multiple",{"_index":205,"t":{"262":{"position":[[0,8]]}}}],["natural",{"_index":55,"t":{"51":{"position":[[27,7]]}}}],["new",{"_index":171,"t":{"189":{"position":[[20,3]]}}}],["nice",{"_index":90,"t":{"92":{"position":[[18,4]]}}}],["normal",{"_index":44,"t":{"40":{"position":[[39,6]]}}}],["note",{"_index":195,"t":{"224":{"position":[[8,4]]}}}],["notification",{"_index":11,"t":{"12":{"position":[[21,12]]},"260":{"position":[[0,12]]}}}],["notifications",{"_index":15,"t":{"14":{"position":[[12,13]]}}}],["numpy",{"_index":139,"t":{"159":{"position":[[0,5]]},"206":{"position":[[0,6]]}}}],["opencv",{"_index":138,"t":{"157":{"position":[[0,6]]},"206":{"position":[[7,6]]}}}],["operating",{"_index":162,"t":{"182":{"position":[[0,9]]}}}],["optional",{"_index":181,"t":{"202":{"position":[[6,8]]},"206":{"position":[[22,8]]}}}],["options",{"_index":169,"t":{"186":{"position":[[30,7]]},"260":{"position":[[13,7]]},"379":{"position":[[11,7]]}}}],["organized",{"_index":96,"t":{"96":{"position":[[34,10]]}}}],["out",{"_index":91,"t":{"92":{"position":[[23,4]]}}}],["overview",{"_index":2,"t":{"6":{"position":[[0,8]]}}}],["page",{"_index":212,"t":{"272":{"position":[[9,4]]}}}],["performance",{"_index":29,"t":{"26":{"position":[[47,11]]},"112":{"position":[[14,11]]}}}],["pil",{"_index":137,"t":{"155":{"position":[[0,3]]},"202":{"position":[[0,3]]},"204":{"position":[[16,3]]}}}],["post",{"_index":154,"t":{"173":{"position":[[27,4]]}}}],["powered",{"_index":54,"t":{"51":{"position":[[16,7]]}}}],["practices",{"_index":65,"t":{"62":{"position":[[14,9]]},"126":{"position":[[5,9]]}}}],["prerequisites",{"_index":71,"t":{"72":{"position":[[0,13]]},"210":{"position":[[0,13]]},"230":{"position":[[0,13]]},"244":{"position":[[0,13]]},"268":{"position":[[0,13]]},"288":{"position":[[0,13]]},"306":{"position":[[0,14]]},"316":{"position":[[0,13]]}}}],["previous",{"_index":159,"t":{"176":{"position":[[10,8]]}}}],["problem",{"_index":1,"t":{"4":{"position":[[18,7]]}}}],["process",{"_index":247,"t":{"346":{"position":[[0,7]]}}}],["processing",{"_index":226,"t":{"310":{"position":[[0,10]]}}}],["project",{"_index":238,"t":{"338":{"position":[[4,8]]}}}],["python",{"_index":192,"t":{"220":{"position":[[18,6]]},"222":{"position":[[10,6]]},"298":{"position":[[18,6]]},"300":{"position":[[10,6]]},"326":{"position":[[18,6]]},"328":{"position":[[10,6]]}}}],["quality",{"_index":249,"t":{"348":{"position":[[0,7]]}}}],["queries",{"_index":153,"t":{"173":{"position":[[19,7]]},"176":{"position":[[25,7]]}}}],["query",{"_index":141,"t":{"163":{"position":[[16,5]]},"174":{"position":[[18,5]]},"178":{"position":[[24,5]]}}}],["ready",{"_index":198,"t":{"226":{"position":[[0,5]]},"240":{"position":[[0,5]]},"254":{"position":[[0,5]]},"302":{"position":[[0,5]]},"330":{"position":[[0,5]]}}}],["references",{"_index":47,"t":{"44":{"position":[[0,10]]}}}],["regardless",{"_index":151,"t":{"171":{"position":[[43,10]]}}}],["requirements",{"_index":257,"t":{"356":{"position":[[0,12]]},"365":{"position":[[0,12]]},"373":{"position":[[0,12]]}}}],["result",{"_index":157,"t":{"174":{"position":[[24,6]]}}}],["retail",{"_index":234,"t":{"336":{"position":[[0,6]]}}}],["retrieve",{"_index":156,"t":{"174":{"position":[[0,8]]},"191":{"position":[[0,8]]}}}],["retrieving",{"_index":109,"t":{"118":{"position":[[6,10]]}}}],["retry",{"_index":123,"t":{"134":{"position":[[10,5]]}}}],["revoke",{"_index":70,"t":{"68":{"position":[[0,6]]}}}],["right",{"_index":191,"t":{"220":{"position":[[12,5]]},"298":{"position":[[12,5]]},"326":{"position":[[12,5]]}}}],["rtsp",{"_index":200,"t":{"236":{"position":[[6,4]]},"250":{"position":[[6,4]]}}}],["running",{"_index":104,"t":{"108":{"position":[[15,7]]},"274":{"position":[[0,7]]},"276":{"position":[[0,7]]},"278":{"position":[[0,7]]},"280":{"position":[[0,7]]},"282":{"position":[[0,7]]}}}],["sales",{"_index":256,"t":{"352":{"position":[[8,5]]}}}],["sample",{"_index":202,"t":{"238":{"position":[[0,6]]},"252":{"position":[[0,6]]}}}],["sdk",{"_index":73,"t":{"74":{"position":[[24,3]]},"214":{"position":[[23,3]]},"216":{"position":[[21,3]]},"218":{"position":[[22,3]]},"234":{"position":[[23,3]]},"248":{"position":[[23,3]]},"292":{"position":[[23,3]]},"294":{"position":[[21,3]]},"296":{"position":[[22,3]]},"320":{"position":[[23,3]]},"322":{"position":[[21,3]]},"324":{"position":[[22,3]]}}}],["security",{"_index":63,"t":{"62":{"position":[[0,8]]}}}],["server",{"_index":214,"t":{"274":{"position":[[12,6]]}}}],["service",{"_index":262,"t":{"363":{"position":[[35,7]]}}}],["set",{"_index":22,"t":{"24":{"position":[[5,3]]},"26":{"position":[[43,3]]},"76":{"position":[[0,3]]}}}],["setup",{"_index":106,"t":{"116":{"position":[[0,5]]},"118":{"position":[[0,5]]}}}],["simple",{"_index":61,"t":{"57":{"position":[[11,6]]}}}],["smaller",{"_index":179,"t":{"200":{"position":[[0,7]]}}}],["solution",{"_index":236,"t":{"336":{"position":[[17,8]]}}}],["sophisticated",{"_index":7,"t":{"8":{"position":[[18,13]]}}}],["source",{"_index":208,"t":{"264":{"position":[[0,6]]},"284":{"position":[[14,6]]}}}],["special",{"_index":194,"t":{"224":{"position":[[0,7]]}}}],["specific",{"_index":116,"t":{"128":{"position":[[6,8]]}}}],["state",{"_index":9,"t":{"12":{"position":[[0,5]]}}}],["stream",{"_index":227,"t":{"310":{"position":[[13,6]]},"340":{"position":[[5,6]]}}}],["streams",{"_index":201,"t":{"236":{"position":[[11,7]]},"250":{"position":[[11,7]]}}}],["submission",{"_index":155,"t":{"173":{"position":[[32,10]]}}}],["submit",{"_index":140,"t":{"163":{"position":[[0,6]]},"169":{"position":[[0,6]]}}}],["submit_image_query",{"_index":143,"t":{"165":{"position":[[12,18]]}}}],["submitting",{"_index":107,"t":{"116":{"position":[[6,10]]}}}],["supported",{"_index":206,"t":{"262":{"position":[[9,9]]}}}],["system",{"_index":163,"t":{"182":{"position":[[10,6]]}}}],["technology",{"_index":59,"t":{"55":{"position":[[11,10]]}}}],["tending",{"_index":246,"t":{"344":{"position":[[8,7]]}}}],["test",{"_index":21,"t":{"24":{"position":[[0,4]]},"26":{"position":[[38,4]]},"138":{"position":[[0,4]]}}}],["thing",{"_index":92,"t":{"94":{"position":[[15,6]]}}}],["thresholds",{"_index":127,"t":{"141":{"position":[[27,10]]}}}],["timeouts",{"_index":129,"t":{"143":{"position":[[12,8]]}}}],["token",{"_index":69,"t":{"66":{"position":[[9,5]]},"68":{"position":[[9,5]]},"76":{"position":[[13,5]]}}}],["tokens",{"_index":67,"t":{"64":{"position":[[9,6]]}}}],["tracking",{"_index":259,"t":{"363":{"position":[[0,8]]}}}],["trash",{"_index":83,"t":{"88":{"position":[[10,5]]}}}],["true",{"_index":28,"t":{"26":{"position":[[19,4]]}}}],["ubuntu",{"_index":196,"t":{"224":{"position":[[19,6]]}}}],["union",{"_index":49,"t":{"46":{"position":[[17,5]]}}}],["upgrading",{"_index":189,"t":{"218":{"position":[[0,9]]},"222":{"position":[[0,9]]},"296":{"position":[[0,9]]},"300":{"position":[[0,9]]},"324":{"position":[[0,9]]},"328":{"position":[[0,9]]}}}],["upper",{"_index":26,"t":{"26":{"position":[[0,5]]},"28":{"position":[[19,5]]},"30":{"position":[[6,5]]}}}],["usage",{"_index":168,"t":{"186":{"position":[[24,5]]}}}],["use",{"_index":117,"t":{"130":{"position":[[0,3]]}}}],["using",{"_index":105,"t":{"110":{"position":[[0,5]]},"236":{"position":[[0,5]]},"250":{"position":[[0,5]]},"270":{"position":[[0,5]]}}}],["utilization",{"_index":260,"t":{"363":{"position":[[9,11]]}}}],["version",{"_index":188,"t":{"216":{"position":[[25,7]]},"220":{"position":[[25,7]]},"294":{"position":[[25,7]]},"298":{"position":[[25,7]]},"322":{"position":[[25,7]]},"326":{"position":[[25,7]]}}}],["via",{"_index":225,"t":{"308":{"position":[[18,3]]}}}],["vision",{"_index":53,"t":{"51":{"position":[[9,6]]}}}],["visual",{"_index":62,"t":{"57":{"position":[[18,6]]}}}],["weather",{"_index":89,"t":{"92":{"position":[[10,7]]}}}],["windows",{"_index":224,"t":{"300":{"position":[[20,7]]}}}],["without",{"_index":184,"t":{"204":{"position":[[8,7]]}}}],["work",{"_index":57,"t":{"53":{"position":[[12,5]]}}}],["working",{"_index":152,"t":{"173":{"position":[[0,7]]},"204":{"position":[[0,7]]}}}],["works",{"_index":102,"t":{"106":{"position":[[22,5]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":1,"t":"Archive","s":"","u":"/python-sdk/blog/archive","p":1},{"i":2,"t":"Groundlight has a Problem","s":"The Grime Guardian: Building Stateful Multi-camera applications with Groundlight","u":"/python-sdk/blog/grime-guardian","p":2},{"i":20,"t":"How we assess and report detector accuracy","s":"Tales from the Binomial Tail: Confidence intervals for balanced accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","p":20},{"i":50,"t":"Computer Vision powered by Natural Language","s":"Getting Started","u":"/python-sdk/docs/getting-started","p":50},{"i":60,"t":"API tokens authenticate your code to access Groundlight services. They look like api_2GdXMflhJ... and should be treated as sensitive credentials.","s":"Using API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","p":60},{"i":70,"t":"In this guide, you will set up your development environment to interact with the Groundlight API using the Groundlight SDK. You will learn how to:","s":"Initial setup","u":"/python-sdk/docs/getting-started/initial-setup","p":70},{"i":80,"t":"Groundlight provides a powerful \"computer vision powered by natural language\" system that enables you to build visual applications with minimal code. With Groundlight, you can quickly create applications for various use cases, from simple object detection to complex visual analysis.","s":"Guide","u":"/python-sdk/docs/guide","p":80},{"i":82,"t":"Introduction","s":"Writing Queries","u":"/python-sdk/docs/getting-started/writing-queries","p":82},{"i":98,"t":"Groundlight supports triggering alerts based on the results of image queries. Alerts can be configured to notify you when a specific condition is met.","s":"Configuring Alerts","u":"/python-sdk/docs/guide/alerts","p":98},{"i":104,"t":"If your account includes access to edge models, you can download and install them on your edge devices. This allows you to run Groundlight's ML models locally on your edge devices, reducing latency and increasing throughput. Additionally, inference requests handled on the edge are not counted towards your account's usage limits.","s":"Processing Images on the Edge","u":"/python-sdk/docs/guide/edge","p":104},{"i":114,"t":"Groundlight provides a simple interface for submitting asynchronous queries. This is useful for situations in which the thread or process or machine submitting image queries is not the same thread or machine that will be retrieving and using the results.","s":"Using Asynchronous Queries","u":"/python-sdk/docs/guide/async-queries","p":114},{"i":122,"t":"When building applications with the Groundlight SDK, you may encounter errors during API calls. This page covers how to handle such errors and build robust code that can gracefully handle exceptions.","s":"Handling Errors","u":"/python-sdk/docs/guide/handling-errors","p":122},{"i":140,"t":"Introduction to Confidence Thresholds","s":"Setting Confidence Thresholds","u":"/python-sdk/docs/guide/managing-confidence","p":140},{"i":145,"t":"In order to analyze images with Groundlight, you first need to capture images from a camera or other image source. This guide will show you how to capture images from different sources and formats.","s":"Grabbing Images","u":"/python-sdk/docs/guide/grabbing-images","p":145},{"i":161,"t":"Once you have created a Detector and captured an image, you can submit your image to Groundlight for analysis.","s":"Submitting Image Queries","u":"/python-sdk/docs/guide/submitting-image-queries","p":161},{"i":180,"t":"The Groundlight Python SDK requires Python 3.9 or higher and can be installed on all major platforms. Follow the installation guide for your specific operating system or device below.","s":"Installation Guide for Groundlight Python SDK","u":"/python-sdk/docs/installation","p":180},{"i":188,"t":"Explicitly create a new detector","s":"Working with Detectors","u":"/python-sdk/docs/guide/working-with-detectors","p":188},{"i":199,"t":"Smaller is better!","s":"Optional libraries","u":"/python-sdk/docs/installation/optional-libraries","p":199},{"i":208,"t":"This guide will help you install the Groundlight SDK on Linux. The Groundlight SDK requires Python 3.9 or higher.","s":"Installing on Linux","u":"/python-sdk/docs/installation/linux","p":208},{"i":228,"t":"This guide will help you install the Groundlight SDK on NVIDIA Jetson devices. The Groundlight SDK requires Python 3.9 or higher.","s":"Usage on NVIDIA Jetson","u":"/python-sdk/docs/installation/nvidia-jetson","p":228},{"i":242,"t":"This guide will help you install the Groundlight SDK on Raspberry Pi. The Groundlight SDK requires Python 3.9 or higher.","s":"Usage on Raspberry Pi","u":"/python-sdk/docs/installation/raspberry-pi","p":242},{"i":256,"t":"Groundlight supplies a tool for no-code deployment of a detector to an ESP32 Camera board. You can find it at https://iot.groundlight.ai/espcam.","s":"No-Code IoT Deployment","u":"/python-sdk/docs/other-ways-to-use/esp32cam","p":256},{"i":266,"t":"Groundlight's Monitoring Notification Server (MNS) is the easiest way to deploy your Groundlight detectors on a linux computer. All configuration is done through a web user interface, and no code development is required.","s":"Low-Code Monitoring Notification Server","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","p":266},{"i":286,"t":"This guide will help you install the Groundlight SDK on Windows. The Groundlight SDK requires Python 3.9 or higher.","s":"Installing on Windows","u":"/python-sdk/docs/installation/windows","p":286},{"i":304,"t":"The Groundlight Stream Processor is a simple containerized application for processing video streams and submitting frames to Groundlight.","s":"Low-Code Stream Processor","u":"/python-sdk/docs/other-ways-to-use/stream-processor","p":304},{"i":314,"t":"This guide will help you install the Groundlight SDK on macOS. The Groundlight SDK requires Python 3.9 or higher.","s":"Installing on macOS","u":"/python-sdk/docs/installation/macos","p":314},{"i":332,"t":"Explore these example applications to see Groundlight's computer vision capabilities in action:","s":"Sample Applications","u":"/python-sdk/docs/sample-applications","p":332},{"i":342,"t":"Modern natural language-based computer vision is transforming industrial and manufacturing applications by enabling more intuitive interaction with automation systems. Groundlight offers cutting-edge computer vision technology that can be seamlessly integrated into various industrial processes, enhancing efficiency, productivity, and quality control.","s":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/sample-applications/industrial","p":342},{"i":354,"t":"Here is a whimsical example of how you could use Groundlight in your home to keep your dog off the couch. This document will guide you through creating a complete application. If the dog is detected on the couch, the application will play a pre-recorded sound over the computer's speakers, instructing the dog to get off the couch. Be sure to record your own voice so that your dog pays attention to you.","s":"A Fun Example: Dog-on-Couch Detector","u":"/python-sdk/docs/sample-applications/dog-on-couch","p":354},{"i":362,"t":"Tracking utilization of a customer service counter","s":"A Serious Example: Retail Analytics","u":"/python-sdk/docs/sample-applications/retail-analytics","p":362},{"i":371,"t":"A quick example to help you get started with monitoring live streams using the groundlight/stream container.","s":"A Quick Example: Live Stream Monitor","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","p":371}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,4.918]],["t/2",[1,0.681,2,4.682]],["t/20",[3,4.271,4,4.271,5,2.738,6,4.271]],["t/50",[7,2.355,8,2.623,9,3.409,10,2.959,11,2.959]],["t/60",[1,0.46,12,2.287,13,3.163,14,3.163,15,1.82,16,2.635,17,3.163,18,3.163,19,3.163,20,3.163,21,3.163,22,3.163]],["t/70",[1,0.626,12,2.287,23,1.255,24,3.163,25,3.163,26,2.635,27,3.163,28,3.163,29,2.287,30,1.37,31,3.163]],["t/80",[1,0.463,7,1.198,8,1.335,9,1.734,10,1.506,11,1.506,15,1.198,32,1.734,33,2.082,34,1.734,35,2.082,36,1.734,37,3.181,38,2.039,39,2.082,40,2.082,41,1.734,42,1.734,43,1.734,44,2.082,45,1.506,46,2.082,47,2.082,48,2.082,49,1.734]],["t/82",[50,4.097]],["t/98",[1,0.432,51,2.97,52,2.97,53,4.122,54,2.474,55,2.474,56,1.904,57,2.474,58,2.97,59,2.97,60,2.474,61,2.97,62,2.97]],["t/104",[16,1.63,63,1.957,64,1.957,65,3.483,66,3.032,67,1.957,68,1.019,69,2.526,70,1.957,71,1.957,72,1.415,73,1.957,74,1.957,75,1.957,76,1.957,77,1.957,78,1.957,79,1.957,80,1.957,81,1.957,82,1.957,83,1.957,84,1.957,85,1.957,86,1.957,87,1.957]],["t/114",[1,0.356,29,1.77,32,2.039,45,1.77,55,2.039,56,1.569,57,2.991,88,2.039,89,2.991,90,2.448,91,2.448,92,2.448,93,3.59,94,2.448,95,3.59,96,2.448,97,2.448]],["t/122",[1,0.365,12,1.816,15,1.445,30,1.088,36,2.092,38,1.61,98,2.511,99,2.511,100,3.658,101,2.511,102,2.511,103,2.511,104,2.511,105,3.658,106,2.511,107,2.511,108,2.511,109,2.511]],["t/140",[50,3.721,110,4.467,111,4.467]],["t/145",[1,0.385,23,1.051,56,1.697,112,2.647,113,2.647,114,4.446,115,2.647,116,2.647,117,3.8,118,2.206,119,2.647,120,2.647,121,2.647,122,2.647,123,2.647]],["t/161",[1,0.51,5,2.246,49,2.919,56,2.954,124,3.504,125,3.504,126,3.504,127,3.504]],["t/180",[1,0.385,23,1.051,30,1.147,34,2.206,60,2.206,128,1.979,129,1.379,130,1.379,131,1.379,132,2.647,133,2.647,134,2.647,135,2.647,136,2.647,137,2.647,138,2.647,139,2.647]],["t/188",[5,2.738,41,3.558,140,4.271,141,4.271]],["t/199",[142,4.682,143,4.682]],["t/208",[1,0.626,23,1.255,30,1.864,68,1.647,128,1.647,129,1.647,130,1.647,131,1.647,144,1.647,145,2.635]],["t/228",[1,0.6,23,1.179,30,1.786,68,1.547,69,2.474,128,1.547,129,1.547,130,1.547,131,1.547,144,1.547,146,2.97,147,2.97]],["t/242",[1,0.613,23,1.216,30,1.824,68,1.596,128,1.596,129,1.596,130,1.596,131,1.596,144,1.596,148,3.063,149,3.063]],["t/256",[1,0.476,5,2.095,15,1.881,118,2.723,150,3.269,151,3.269,152,3.269,153,3.269,154,3.269,155,3.269,156,3.269]],["t/266",[1,0.356,7,1.409,15,1.409,26,2.039,72,1.77,88,2.039,145,2.039,157,2.039,158,2.448,159,2.448,160,2.448,161,2.448,162,2.448,163,2.448,164,2.448,165,2.448,166,2.448,167,2.039,168,2.448,169,2.448,170,2.448]],["t/286",[1,0.626,23,1.255,30,1.864,68,1.647,128,1.647,129,1.647,130,1.647,131,1.647,144,1.647,171,3.163]],["t/304",[1,0.626,45,2.287,89,2.635,172,3.163,173,3.163,174,3.163,175,2.635,176,3.163,177,3.163,178,2.635,179,3.163]],["t/314",[1,0.626,23,1.255,30,1.864,68,1.647,128,1.647,129,1.647,130,1.647,131,1.647,144,1.647,180,3.163]],["t/332",[7,2.016,8,2.246,38,2.246,72,2.534,181,3.504,182,2.534,183,3.504,184,3.504,185,3.504]],["t/342",[1,0.274,7,1.692,8,1.885,10,1.36,11,1.36,38,1.206,42,1.567,54,1.567,65,1.567,186,1.881,187,1.881,188,2.941,189,1.881,190,1.881,191,1.881,192,1.881,193,1.881,194,1.881,195,1.881,196,1.881,197,1.881,198,1.881,199,1.881,200,1.881,201,1.881,202,1.881,203,1.881,204,1.881,205,1.881,206,1.881]],["t/354",[1,0.264,23,0.719,43,1.509,167,1.509,175,2.378,182,1.31,207,1.811,208,1.811,209,1.811,210,1.811,211,4.009,212,3.533,213,1.811,214,1.811,215,1.811,216,1.811,217,1.811,218,1.811,219,1.811,220,1.811,221,1.811,222,1.811,223,1.811,224,1.811,225,1.811,226,1.811,227,1.811,228,1.811,229,1.811]],["t/362",[230,4.092,231,4.092,232,4.092,233,4.092,234,4.092]],["t/371",[29,2.446,144,1.762,157,2.818,178,2.818,182,2.446,235,3.382,236,3.382,237,3.382,238,3.382,239,3.382]]],"invertedIndex":[["3.9",{"_index":130,"t":{"180":{"position":[[43,3]]},"208":{"position":[[99,3]]},"228":{"position":[[115,3]]},"242":{"position":[[106,3]]},"286":{"position":[[101,3]]},"314":{"position":[[99,3]]}}}],["access",{"_index":16,"t":{"60":{"position":[[37,6]]},"104":{"position":[[25,6]]}}}],["account",{"_index":63,"t":{"104":{"position":[[8,7]]}}}],["account's",{"_index":85,"t":{"104":{"position":[[307,9]]}}}],["accuracy",{"_index":6,"t":{"20":{"position":[[34,8]]}}}],["action",{"_index":185,"t":{"332":{"position":[[88,7]]}}}],["additionally",{"_index":79,"t":{"104":{"position":[[225,13]]}}}],["alerts",{"_index":53,"t":{"98":{"position":[[32,6],[78,6]]}}}],["allows",{"_index":70,"t":{"104":{"position":[[109,6]]}}}],["analysis",{"_index":49,"t":{"80":{"position":[[274,9]]},"161":{"position":[[101,9]]}}}],["analyze",{"_index":113,"t":{"145":{"position":[[12,7]]}}}],["api",{"_index":12,"t":{"60":{"position":[[0,3]]},"70":{"position":[[93,3]]},"122":{"position":[[85,3]]}}}],["api_2gdxmflhj",{"_index":19,"t":{"60":{"position":[[81,16]]}}}],["application",{"_index":175,"t":{"304":{"position":[[59,11]]},"354":{"position":[[164,12],[218,11]]}}}],["applications",{"_index":38,"t":{"80":{"position":[[118,12],[191,12]]},"122":{"position":[[14,12]]},"332":{"position":[[22,12]]},"342":{"position":[[91,12]]}}}],["archive",{"_index":0,"t":{"1":{"position":[[0,7]]}}}],["assess",{"_index":3,"t":{"20":{"position":[[7,6]]}}}],["asynchronous",{"_index":90,"t":{"114":{"position":[[55,12]]}}}],["attention",{"_index":229,"t":{"354":{"position":[[389,9]]}}}],["authenticate",{"_index":14,"t":{"60":{"position":[[11,12]]}}}],["automation",{"_index":194,"t":{"342":{"position":[[148,10]]}}}],["based",{"_index":54,"t":{"98":{"position":[[39,5]]},"342":{"position":[[24,5]]}}}],["below",{"_index":139,"t":{"180":{"position":[[177,6]]}}}],["better",{"_index":143,"t":{"199":{"position":[[11,7]]}}}],["board",{"_index":154,"t":{"256":{"position":[[84,6]]}}}],["build",{"_index":36,"t":{"80":{"position":[[105,5]]},"122":{"position":[[143,5]]}}}],["building",{"_index":98,"t":{"122":{"position":[[5,8]]}}}],["calls",{"_index":102,"t":{"122":{"position":[[89,6]]}}}],["camera",{"_index":118,"t":{"145":{"position":[[85,6]]},"256":{"position":[[77,6]]}}}],["capabilities",{"_index":184,"t":{"332":{"position":[[72,12]]}}}],["capture",{"_index":117,"t":{"145":{"position":[[63,7],[147,7]]}}}],["captured",{"_index":126,"t":{"161":{"position":[[37,8]]}}}],["cases",{"_index":44,"t":{"80":{"position":[[220,6]]}}}],["code",{"_index":15,"t":{"60":{"position":[[29,4]]},"80":{"position":[[144,5]]},"122":{"position":[[156,4]]},"256":{"position":[[35,4]]},"266":{"position":[[191,4]]}}}],["complete",{"_index":215,"t":{"354":{"position":[[155,8]]}}}],["complex",{"_index":48,"t":{"80":{"position":[[259,7]]}}}],["computer",{"_index":7,"t":{"50":{"position":[[0,8]]},"80":{"position":[[32,9]]},"266":{"position":[[118,9]]},"332":{"position":[[56,8]]},"342":{"position":[[30,8],[200,8]]}}}],["computer's",{"_index":222,"t":{"354":{"position":[[270,10]]}}}],["condition",{"_index":61,"t":{"98":{"position":[[133,9]]}}}],["confidence",{"_index":110,"t":{"140":{"position":[[16,10]]}}}],["configuration",{"_index":165,"t":{"266":{"position":[[132,13]]}}}],["configured",{"_index":58,"t":{"98":{"position":[[92,10]]}}}],["container",{"_index":239,"t":{"371":{"position":[[98,10]]}}}],["containerized",{"_index":174,"t":{"304":{"position":[[45,13]]}}}],["control",{"_index":206,"t":{"342":{"position":[[344,8]]}}}],["couch",{"_index":212,"t":{"354":{"position":[[99,6],[207,6],[326,6]]}}}],["counted",{"_index":83,"t":{"104":{"position":[[286,7]]}}}],["counter",{"_index":234,"t":{"362":{"position":[[43,7]]}}}],["covers",{"_index":104,"t":{"122":{"position":[[106,6]]}}}],["create",{"_index":41,"t":{"80":{"position":[[184,6]]},"188":{"position":[[11,6]]}}}],["created",{"_index":125,"t":{"161":{"position":[[14,7]]}}}],["creating",{"_index":214,"t":{"354":{"position":[[144,8]]}}}],["credentials",{"_index":22,"t":{"60":{"position":[[133,12]]}}}],["customer",{"_index":232,"t":{"362":{"position":[[26,8]]}}}],["cutting",{"_index":197,"t":{"342":{"position":[[187,7]]}}}],["deploy",{"_index":163,"t":{"266":{"position":[[73,6]]}}}],["deployment",{"_index":152,"t":{"256":{"position":[[40,10]]}}}],["detected",{"_index":216,"t":{"354":{"position":[[191,8]]}}}],["detection",{"_index":47,"t":{"80":{"position":[[246,9]]}}}],["detector",{"_index":5,"t":{"20":{"position":[[25,8]]},"161":{"position":[[24,8]]},"188":{"position":[[24,8]]},"256":{"position":[[56,8]]}}}],["detectors",{"_index":164,"t":{"266":{"position":[[97,9]]}}}],["development",{"_index":26,"t":{"70":{"position":[[36,11]]},"266":{"position":[[196,11]]}}}],["device",{"_index":138,"t":{"180":{"position":[[170,6]]}}}],["devices",{"_index":69,"t":{"104":{"position":[[95,8],[172,8]]},"228":{"position":[[70,8]]}}}],["different",{"_index":121,"t":{"145":{"position":[[167,9]]}}}],["document",{"_index":213,"t":{"354":{"position":[[112,8]]}}}],["dog",{"_index":211,"t":{"354":{"position":[[87,3],[184,3],[307,3],[380,3]]}}}],["done",{"_index":166,"t":{"266":{"position":[[149,4]]}}}],["download",{"_index":67,"t":{"104":{"position":[[56,8]]}}}],["during",{"_index":101,"t":{"122":{"position":[[78,6]]}}}],["easiest",{"_index":161,"t":{"266":{"position":[[58,7]]}}}],["edge",{"_index":65,"t":{"104":{"position":[[35,4],[90,4],[167,4],[273,4]]},"342":{"position":[[195,4]]}}}],["efficiency",{"_index":203,"t":{"342":{"position":[[306,11]]}}}],["enables",{"_index":35,"t":{"80":{"position":[[90,7]]}}}],["enabling",{"_index":190,"t":{"342":{"position":[[107,8]]}}}],["encounter",{"_index":99,"t":{"122":{"position":[[61,9]]}}}],["enhancing",{"_index":202,"t":{"342":{"position":[[296,9]]}}}],["environment",{"_index":27,"t":{"70":{"position":[[48,11]]}}}],["errors",{"_index":100,"t":{"122":{"position":[[71,6],[132,6]]}}}],["esp32",{"_index":153,"t":{"256":{"position":[[71,5]]}}}],["example",{"_index":182,"t":{"332":{"position":[[14,7]]},"354":{"position":[[20,7]]},"371":{"position":[[8,7]]}}}],["exceptions",{"_index":109,"t":{"122":{"position":[[188,11]]}}}],["explicitly",{"_index":140,"t":{"188":{"position":[[0,10]]}}}],["explore",{"_index":181,"t":{"332":{"position":[[0,7]]}}}],["find",{"_index":155,"t":{"256":{"position":[[99,4]]}}}],["first",{"_index":115,"t":{"145":{"position":[[49,5]]}}}],["follow",{"_index":135,"t":{"180":{"position":[[102,6]]}}}],["formats",{"_index":123,"t":{"145":{"position":[[189,8]]}}}],["frames",{"_index":179,"t":{"304":{"position":[[115,6]]}}}],["gracefully",{"_index":108,"t":{"122":{"position":[[170,10]]}}}],["groundlight",{"_index":1,"t":{"2":{"position":[[0,11]]},"60":{"position":[[44,11]]},"70":{"position":[[81,11],[107,11]]},"80":{"position":[[0,11],[155,12]]},"98":{"position":[[0,11]]},"114":{"position":[[0,11]]},"122":{"position":[[36,11]]},"145":{"position":[[32,12]]},"161":{"position":[[85,11]]},"180":{"position":[[4,11]]},"208":{"position":[[37,11],[67,11]]},"228":{"position":[[37,11],[83,11]]},"242":{"position":[[37,11],[74,11]]},"256":{"position":[[0,11]]},"266":{"position":[[85,11]]},"286":{"position":[[37,11],[69,11]]},"304":{"position":[[4,11],[125,12]]},"314":{"position":[[37,11],[67,11]]},"342":{"position":[[168,11]]},"354":{"position":[[49,11]]}}}],["groundlight's",{"_index":72,"t":{"104":{"position":[[127,13]]},"266":{"position":[[0,13]]},"332":{"position":[[42,13]]}}}],["groundlight/stream",{"_index":238,"t":{"371":{"position":[[79,18]]}}}],["guide",{"_index":23,"t":{"70":{"position":[[8,6]]},"145":{"position":[[120,5]]},"180":{"position":[[126,5]]},"208":{"position":[[5,5]]},"228":{"position":[[5,5]]},"242":{"position":[[5,5]]},"286":{"position":[[5,5]]},"314":{"position":[[5,5]]},"354":{"position":[[126,5]]}}}],["handle",{"_index":105,"t":{"122":{"position":[[120,6],[181,6]]}}}],["handled",{"_index":82,"t":{"104":{"position":[[258,7]]}}}],["help",{"_index":144,"t":{"208":{"position":[[16,4]]},"228":{"position":[[16,4]]},"242":{"position":[[16,4]]},"286":{"position":[[16,4]]},"314":{"position":[[16,4]]},"371":{"position":[[19,4]]}}}],["here",{"_index":207,"t":{"354":{"position":[[0,4]]}}}],["higher",{"_index":131,"t":{"180":{"position":[[50,6]]},"208":{"position":[[106,7]]},"228":{"position":[[122,7]]},"242":{"position":[[113,7]]},"286":{"position":[[108,7]]},"314":{"position":[[106,7]]}}}],["home",{"_index":209,"t":{"354":{"position":[[69,4]]}}}],["https://iot.groundlight.ai/espcam",{"_index":156,"t":{"256":{"position":[[110,34]]}}}],["image",{"_index":56,"t":{"98":{"position":[[63,5]]},"114":{"position":[[160,5]]},"145":{"position":[[101,5]]},"161":{"position":[[49,6],[76,5]]}}}],["images",{"_index":114,"t":{"145":{"position":[[20,6],[71,6],[155,6]]}}}],["includes",{"_index":64,"t":{"104":{"position":[[16,8]]}}}],["increasing",{"_index":77,"t":{"104":{"position":[[202,10]]}}}],["industrial",{"_index":188,"t":{"342":{"position":[[62,10],[274,10]]}}}],["inference",{"_index":80,"t":{"104":{"position":[[239,9]]}}}],["install",{"_index":68,"t":{"104":{"position":[[69,7]]},"208":{"position":[[25,7]]},"228":{"position":[[25,7]]},"242":{"position":[[25,7]]},"286":{"position":[[25,7]]},"314":{"position":[[25,7]]}}}],["installation",{"_index":136,"t":{"180":{"position":[[113,12]]}}}],["installed",{"_index":132,"t":{"180":{"position":[[68,9]]}}}],["instructing",{"_index":224,"t":{"354":{"position":[[291,11]]}}}],["integrated",{"_index":200,"t":{"342":{"position":[[250,10]]}}}],["interact",{"_index":28,"t":{"70":{"position":[[63,8]]}}}],["interaction",{"_index":193,"t":{"342":{"position":[[131,11]]}}}],["interface",{"_index":88,"t":{"114":{"position":[[30,9]]},"266":{"position":[[173,10]]}}}],["introduction",{"_index":50,"t":{"82":{"position":[[0,12]]},"140":{"position":[[0,12]]}}}],["intuitive",{"_index":192,"t":{"342":{"position":[[121,9]]}}}],["jetson",{"_index":147,"t":{"228":{"position":[[63,6]]}}}],["keep",{"_index":210,"t":{"354":{"position":[[77,4]]}}}],["language",{"_index":11,"t":{"50":{"position":[[35,8]]},"80":{"position":[[68,9]]},"342":{"position":[[15,8]]}}}],["latency",{"_index":76,"t":{"104":{"position":[[190,7]]}}}],["learn",{"_index":31,"t":{"70":{"position":[[133,5]]}}}],["limits",{"_index":87,"t":{"104":{"position":[[323,7]]}}}],["linux",{"_index":145,"t":{"208":{"position":[[56,6]]},"266":{"position":[[112,5]]}}}],["live",{"_index":237,"t":{"371":{"position":[[56,4]]}}}],["locally",{"_index":74,"t":{"104":{"position":[[151,7]]}}}],["look",{"_index":18,"t":{"60":{"position":[[71,4]]}}}],["machine",{"_index":95,"t":{"114":{"position":[[141,7],[200,7]]}}}],["macos",{"_index":180,"t":{"314":{"position":[[56,6]]}}}],["major",{"_index":133,"t":{"180":{"position":[[85,5]]}}}],["manufacturing",{"_index":189,"t":{"342":{"position":[[77,13]]}}}],["met",{"_index":62,"t":{"98":{"position":[[146,4]]}}}],["minimal",{"_index":39,"t":{"80":{"position":[[136,7]]}}}],["ml",{"_index":73,"t":{"104":{"position":[[141,2]]}}}],["mns",{"_index":160,"t":{"266":{"position":[[45,5]]}}}],["models",{"_index":66,"t":{"104":{"position":[[40,7],[144,6]]}}}],["modern",{"_index":186,"t":{"342":{"position":[[0,6]]}}}],["monitoring",{"_index":157,"t":{"266":{"position":[[14,10]]},"371":{"position":[[45,10]]}}}],["more",{"_index":191,"t":{"342":{"position":[[116,4]]}}}],["natural",{"_index":10,"t":{"50":{"position":[[27,7]]},"80":{"position":[[60,7]]},"342":{"position":[[7,7]]}}}],["need",{"_index":116,"t":{"145":{"position":[[55,4]]}}}],["new",{"_index":141,"t":{"188":{"position":[[20,3]]}}}],["notification",{"_index":158,"t":{"266":{"position":[[25,12]]}}}],["notify",{"_index":59,"t":{"98":{"position":[[106,6]]}}}],["nvidia",{"_index":146,"t":{"228":{"position":[[56,6]]}}}],["object",{"_index":46,"t":{"80":{"position":[[239,6]]}}}],["offers",{"_index":196,"t":{"342":{"position":[[180,6]]}}}],["once",{"_index":124,"t":{"161":{"position":[[0,4]]}}}],["operating",{"_index":137,"t":{"180":{"position":[[150,9]]}}}],["order",{"_index":112,"t":{"145":{"position":[[3,5]]}}}],["over",{"_index":221,"t":{"354":{"position":[[261,4]]}}}],["page",{"_index":103,"t":{"122":{"position":[[101,4]]}}}],["pays",{"_index":228,"t":{"354":{"position":[[384,4]]}}}],["pi",{"_index":149,"t":{"242":{"position":[[66,3]]}}}],["platforms",{"_index":134,"t":{"180":{"position":[[91,10]]}}}],["play",{"_index":217,"t":{"354":{"position":[[235,4]]}}}],["powered",{"_index":9,"t":{"50":{"position":[[16,7]]},"80":{"position":[[49,7]]}}}],["powerful",{"_index":33,"t":{"80":{"position":[[23,8]]}}}],["pre",{"_index":218,"t":{"354":{"position":[[242,3]]}}}],["problem",{"_index":2,"t":{"2":{"position":[[18,7]]}}}],["process",{"_index":94,"t":{"114":{"position":[[130,7]]}}}],["processes",{"_index":201,"t":{"342":{"position":[[285,10]]}}}],["processing",{"_index":176,"t":{"304":{"position":[[75,10]]}}}],["processor",{"_index":173,"t":{"304":{"position":[[23,9]]}}}],["productivity",{"_index":204,"t":{"342":{"position":[[318,13]]}}}],["provides",{"_index":32,"t":{"80":{"position":[[12,8]]},"114":{"position":[[12,8]]}}}],["python",{"_index":128,"t":{"180":{"position":[[16,6],[36,6]]},"208":{"position":[[92,6]]},"228":{"position":[[108,6]]},"242":{"position":[[99,6]]},"286":{"position":[[94,6]]},"314":{"position":[[92,6]]}}}],["quality",{"_index":205,"t":{"342":{"position":[[336,7]]}}}],["queries",{"_index":57,"t":{"98":{"position":[[69,8]]},"114":{"position":[[68,8],[166,7]]}}}],["quick",{"_index":235,"t":{"371":{"position":[[2,5]]}}}],["quickly",{"_index":40,"t":{"80":{"position":[[176,7]]}}}],["raspberry",{"_index":148,"t":{"242":{"position":[[56,9]]}}}],["record",{"_index":226,"t":{"354":{"position":[[345,6]]}}}],["recorded",{"_index":219,"t":{"354":{"position":[[246,8]]}}}],["reducing",{"_index":75,"t":{"104":{"position":[[181,8]]}}}],["report",{"_index":4,"t":{"20":{"position":[[18,6]]}}}],["requests",{"_index":81,"t":{"104":{"position":[[249,8]]}}}],["required",{"_index":170,"t":{"266":{"position":[[211,9]]}}}],["requires",{"_index":129,"t":{"180":{"position":[[27,8]]},"208":{"position":[[83,8]]},"228":{"position":[[99,8]]},"242":{"position":[[90,8]]},"286":{"position":[[85,8]]},"314":{"position":[[83,8]]}}}],["results",{"_index":55,"t":{"98":{"position":[[52,7]]},"114":{"position":[[246,8]]}}}],["retrieving",{"_index":97,"t":{"114":{"position":[[221,10]]}}}],["robust",{"_index":107,"t":{"122":{"position":[[149,6]]}}}],["run",{"_index":71,"t":{"104":{"position":[[123,3]]}}}],["same",{"_index":96,"t":{"114":{"position":[[185,4]]}}}],["sdk",{"_index":30,"t":{"70":{"position":[[119,4]]},"122":{"position":[[48,4]]},"180":{"position":[[23,3]]},"208":{"position":[[49,3],[79,3]]},"228":{"position":[[49,3],[95,3]]},"242":{"position":[[49,3],[86,3]]},"286":{"position":[[49,3],[81,3]]},"314":{"position":[[49,3],[79,3]]}}}],["seamlessly",{"_index":199,"t":{"342":{"position":[[239,10]]}}}],["see",{"_index":183,"t":{"332":{"position":[[38,3]]}}}],["sensitive",{"_index":21,"t":{"60":{"position":[[123,9]]}}}],["server",{"_index":159,"t":{"266":{"position":[[38,6]]}}}],["service",{"_index":233,"t":{"362":{"position":[[35,7]]}}}],["services",{"_index":17,"t":{"60":{"position":[[56,9]]}}}],["set",{"_index":24,"t":{"70":{"position":[[24,3]]}}}],["show",{"_index":120,"t":{"145":{"position":[[131,4]]}}}],["simple",{"_index":45,"t":{"80":{"position":[[232,6]]},"114":{"position":[[23,6]]},"304":{"position":[[38,6]]}}}],["situations",{"_index":92,"t":{"114":{"position":[[96,10]]}}}],["smaller",{"_index":142,"t":{"199":{"position":[[0,7]]}}}],["sound",{"_index":220,"t":{"354":{"position":[[255,5]]}}}],["source",{"_index":119,"t":{"145":{"position":[[107,7]]}}}],["sources",{"_index":122,"t":{"145":{"position":[[177,7]]}}}],["speakers",{"_index":223,"t":{"354":{"position":[[281,9]]}}}],["specific",{"_index":60,"t":{"98":{"position":[[124,8]]},"180":{"position":[[141,8]]}}}],["started",{"_index":236,"t":{"371":{"position":[[32,7]]}}}],["stream",{"_index":172,"t":{"304":{"position":[[16,6]]}}}],["streams",{"_index":178,"t":{"304":{"position":[[92,7]]},"371":{"position":[[61,7]]}}}],["submit",{"_index":127,"t":{"161":{"position":[[64,6]]}}}],["submitting",{"_index":89,"t":{"114":{"position":[[44,10],[149,10]]},"304":{"position":[[104,10]]}}}],["such",{"_index":106,"t":{"122":{"position":[[127,4]]}}}],["supplies",{"_index":150,"t":{"256":{"position":[[12,8]]}}}],["supports",{"_index":51,"t":{"98":{"position":[[12,8]]}}}],["sure",{"_index":225,"t":{"354":{"position":[[337,4]]}}}],["system",{"_index":34,"t":{"80":{"position":[[78,6]]},"180":{"position":[[160,6]]}}}],["systems",{"_index":195,"t":{"342":{"position":[[159,8]]}}}],["technology",{"_index":198,"t":{"342":{"position":[[216,10]]}}}],["thread",{"_index":93,"t":{"114":{"position":[[120,6],[190,6]]}}}],["thresholds",{"_index":111,"t":{"140":{"position":[[27,10]]}}}],["through",{"_index":167,"t":{"266":{"position":[[154,7]]},"354":{"position":[[136,7]]}}}],["throughput",{"_index":78,"t":{"104":{"position":[[213,11]]}}}],["tokens",{"_index":13,"t":{"60":{"position":[[4,6]]}}}],["tool",{"_index":151,"t":{"256":{"position":[[23,4]]}}}],["towards",{"_index":84,"t":{"104":{"position":[[294,7]]}}}],["tracking",{"_index":230,"t":{"362":{"position":[[0,8]]}}}],["transforming",{"_index":187,"t":{"342":{"position":[[49,12]]}}}],["treated",{"_index":20,"t":{"60":{"position":[[112,7]]}}}],["triggering",{"_index":52,"t":{"98":{"position":[[21,10]]}}}],["up",{"_index":25,"t":{"70":{"position":[[28,2]]}}}],["usage",{"_index":86,"t":{"104":{"position":[[317,5]]}}}],["use",{"_index":43,"t":{"80":{"position":[[216,3]]},"354":{"position":[[45,3]]}}}],["useful",{"_index":91,"t":{"114":{"position":[[85,6]]}}}],["user",{"_index":169,"t":{"266":{"position":[[168,4]]}}}],["using",{"_index":29,"t":{"70":{"position":[[97,5]]},"114":{"position":[[236,5]]},"371":{"position":[[69,5]]}}}],["utilization",{"_index":231,"t":{"362":{"position":[[9,11]]}}}],["various",{"_index":42,"t":{"80":{"position":[[208,7]]},"342":{"position":[[266,7]]}}}],["video",{"_index":177,"t":{"304":{"position":[[86,5]]}}}],["vision",{"_index":8,"t":{"50":{"position":[[9,6]]},"80":{"position":[[42,6]]},"332":{"position":[[65,6]]},"342":{"position":[[39,6],[209,6]]}}}],["visual",{"_index":37,"t":{"80":{"position":[[111,6],[267,6]]}}}],["voice",{"_index":227,"t":{"354":{"position":[[361,5]]}}}],["way",{"_index":162,"t":{"266":{"position":[[66,3]]}}}],["web",{"_index":168,"t":{"266":{"position":[[164,3]]}}}],["whimsical",{"_index":208,"t":{"354":{"position":[[10,9]]}}}],["windows",{"_index":171,"t":{"286":{"position":[[56,8]]}}}]],"pipeline":["stemmer"]}},{"documents":[],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[],"invertedIndex":[],"pipeline":["stemmer"]}},{"documents":[{"i":3,"t":"Groundlight has a Problem Here at the Groundlight office we have a bit of a problem - sometimes we leave dirty dishes in the office sink. They pile up, and as the pile grows it becomes more and more tempting to simply add to the pile instead of cleaning it up. It was clear that the Groundlight office needed a “grime guardian” to save us from our messy selves. One day, I realized that this was the perfect problem to solve using Groundlight’s computer vision SDK. I could focus on developing the complex embedded application logic while Groundlight handled the computer vision. My design provided me with an opportunity to test out a handful of interesting design patterns, including deployment on a Raspberry Pi, multi-camera and multi-detector usage, a microservice-like architecture achieved via multithreading, and complex state handling. The Groundlight office sink, where dishes accumulate faster than git commits.","s":"The Grime Guardian: Building Stateful Multi-camera applications with Groundlight","u":"/python-sdk/blog/grime-guardian","h":"","p":2},{"i":5,"t":"Here at the Groundlight office we have a bit of a problem - sometimes we leave dirty dishes in the office sink. They pile up, and as the pile grows it becomes more and more tempting to simply add to the pile instead of cleaning it up. It was clear that the Groundlight office needed a “grime guardian” to save us from our messy selves. One day, I realized that this was the perfect problem to solve using Groundlight’s computer vision SDK. I could focus on developing the complex embedded application logic while Groundlight handled the computer vision. My design provided me with an opportunity to test out a handful of interesting design patterns, including deployment on a Raspberry Pi, multi-camera and multi-detector usage, a microservice-like architecture achieved via multithreading, and complex state handling. The Groundlight office sink, where dishes accumulate faster than git commits.","s":"Groundlight has a Problem","u":"/python-sdk/blog/grime-guardian","h":"#groundlight-has-a-problem","p":2},{"i":7,"t":"The application I developed, the Grime Guardian, is designed to make it fun for the Groundlight team to clean up dishes that have been abandoned in the sink (source code). Using two cameras, the application monitors the state of the office sink and the overall kitchen scene. If it recognizes that dirty dishes were left in the sink for over a minute, it posts a funny yet inspiring message and photo to a Discord server that alerts the Groundlight team and encourages someone to help. Then, while the dishes remain unattended it surveys the kitchen until it sees someone. Once someone comes to help, it posts a message and photo, celebrating them as a hero, giving everyone in the Discord server a chance to recognize them. While this is cheesy, it has made it a bit more fun for us to do the dishes! The Grime Guardian alerting the Groundlight Team through Discord","s":"Overview of the Application - The Grime Guardian","u":"/python-sdk/blog/grime-guardian","h":"#overview-of-the-application---the-grime-guardian","p":2},{"i":9,"t":"The Grime Guardian demonstrates how to build an advanced Groundlight application in a handful of ways: Raspberry Pi Deployment - The Grime Guardian leverages our custom Raspberry Pi Image, which makes it easy to deploy Groundlight applications on Raspberry Pi. Multiple Cameras - The Grime Guardian actively uses more than one camera to solve a problem (it has one camera pointed at the sink and one pointed at the general kitchen scene). Multiple Detectors - The Grime Guardian combines multiple Groundlight detectors to solve a problem. Microservice-like architecture via Multithreading - The Grime Guardian’s architecture is broken down into a handful of microservice-like processes - each running in a different thread on the same machine. This improves the app’s robustness and allows for more flexibility and scalability. Complex State - As described in the previous section, the state of the world this app is tracking is somewhat complex. In addition to knowing the state of the sink and kitchen, the app tracks how recently the state was updated and how recently it has sent a notification to the Groundlight team. Discord Bot Integration/Notifications - The Grime Guardian uses the Discord Bot API to send notifications to a Discord server. Discord can be an extremely powerful and flexible tool for building applications (e.g. Midjourney). Robustness - In practice, the Grime Guardian has been extremely robust, with only one or two incorrect (false positive) notifications over many weeks of deployment and hundreds of thousands of Groundlight queries.","s":"Architecture of a Sophisticated Groundlight Application","u":"/python-sdk/blog/grime-guardian","h":"#architecture-of-a-sophisticated-groundlight-application","p":2},{"i":11,"t":"The Grime Guardian leverages a microservice-like architecture via multithreading to enhance its performance and robustness. Each microservice within the application runs in its own thread on a single Raspberry Pi, allowing for simultaneous execution of tasks. This architecture is particularly beneficial in this context as it allows the application to monitor the sink and the kitchen scene concurrently using two cameras, and to process the data from these cameras independently. Furthermore, it enables the application to manage complex state tracking and Discord notifications without blocking or slowing down the image processing tasks. The application is broken into six microservices: Sink Image Capturer: This microservice captures images from a camera pointed at the sink and submits them as queries to a Groundlight detector via the ask_async SDK method (this method is useful for times in which the thread submitting image queries is not the same thread that will be retrieving and using the results). I set the detector's query to \"Is there at least one dish in the sink? Cleaning supplies like a sponge, brush, soap, etc. are not considered dishes. If you cannot see into the sink, consider it empty and answer NO\" and set the confidence threshold to 75%. After Groundlight replies with a query ID, the service passes the query ID to the Query Processor service. Kitchen Image Capturer: This microservice is identical to the Sink Image Capturer except it uses the camera that can view the whole kitchen and submits images to a detector with the query \"Is there at least one person in this image?\" and set the confidence threshold to 75% as well. Query Processor: This microservice processes the queries passed to it by the two Capturer services, waiting for confident answers from Groundlight and filtering out queries that do not become confident within a reasonable time (I chose a 10 second timeout as that was how frequently each Capturer service submitted a query to Groundlight). Queries that become confident are passed to the State Updater service. State Updater: This microservice updates a complex model of the application's state based on Groundlight's responses. It tracks the status and last update time of the sink and kitchen, the image query IDs that led to the current state, and the timestamps of the last clean sink and notifications sent. Notification Publisher: This microservice listens for updates to the state of the application (written by the State Updater) and decides whether it is appropriate to send one of two possible notifications. If a notification is needed, it adds it to a queue of notifications to be processed by the Discord Bot. Importantly, the Notification Publisher only determines if a notification should be sent. It does not handle the mechanics of what data to send or how and where to send it. Discord Bot: This microservice runs a Discord bot, which listens for requests from the Notification Publisher. When a request arrives, the bot collects the relevant data and sends notifications to a Discord server. Diagram created by Jared Randall Architecture diagram for the application","s":"Microservice-like Architecture","u":"/python-sdk/blog/grime-guardian","h":"#microservice-like-architecture","p":2},{"i":13,"t":"The Grime Guardian's ability to track and manage a complex state is a cornerstone of its functionality. The application not only needs to know the current state of the sink and kitchen but also when these states were last updated and when the last notifications were sent. In total, the application needs nine separate variables to function properly (a combination of binary-encoded state fields, timestamps, and image query IDs). This level of detail is crucial for avoiding redundant alerts and ensuring timely and accurate updates. As seen in the architecture diagram in the previous section, multiple services read and write to the state simultaneously. To handle this complexity, I implemented a wrapper around the state to handle reads and writes in a thread safe manner. This wrapper ensures the state can be accessed and modified safely across many services. It uses a lock to prevent race conditions, ensuring that only one thread can modify the state at a time. import threading import copy # simplified version of how the Grime Guardian manages state safely class SimpleThreadSafeState: def __init__(self): self.state = False self.lock = threading.Lock() def update_state(self, new_state: bool): with self.lock: self.state = new_state def get_state(self) -> bool: with self.lock: return copy.copy(self.state) The application uses this state to determine when to send notifications. I've tried to break down this logic into a few of flowcharts. At a high level, the logic is pretty simple. Whenever the the application's state is updated, the application performs a check to determine if the new state justifies sending each type of notification. Diagram created by Jared Randall High level flow for determining if a notification should be sent The logic for determining if each notification should be sent is a bit more complex. It first checks for the last time a notification was sent. If the last notification was sent in the last 5 minutes, no notification is sent. This is important as it prevents the application from spamming the Discord server with notifications. Next, the application checks if the sink currently has dirty dishes in it, and how long it has been since the sink was empty. We only send the notification if dirty dishes have been present for more than a minute. This approach ensures that the Grime Guardian does not send a notification every time someone puts a dirty dish in the sink, but only when dishes have been abandoned for a while. This ensures that the app only notifies the team when it is actually needed. Diagram created by Jared Randall Flow for determining if the dirty dishes notification should be sent The logic for determining if someone has arrived to help is similar. We have a check that ensures we do not spam the Discord server. Then, we only send a notification if there are currently dishes in the sink and someone is present in the kitchen. This ensures that the Grime Guardian does not send a notification every time someone walks into the kitchen, but only when dishes are in the sink. Diagram created by Jared Randall Flow for determining if the help arrived notification should be sent In retrospect, getting the notification logic to work properly was one of the more challenging parts of this project. The version I presented here is the result of many iterations and tweaks based on real world usage and results. I think this is because this logic is an expression of the application's core value proposition. If this \"business logic\" is not correct, the application will not be fun or useful. Fortunately, Groundlight enabled me to focus on this logic and not worry about the computer vision.","s":"State Management and Notification Logic","u":"/python-sdk/blog/grime-guardian","h":"#state-management-and-notification-logic","p":2},{"i":15,"t":"The Grime Guardian uses the Discord Bot API to send notifications to a Discord server I set up. At startup, Discord requires some boilerplate to handle authentication. After this is done, the bot listens for new notification requests from the Notification Publisher. Based on the type of request, the bot collects the relevant information (e.g. the image of the dirty sink, or the person doing the dishes) and sends the message. The Discord Bot API makes this incredibly simple, after handling authentication, a new message and an attached image can be sent in a single line. await channel.send(\"message\", file=discord.File(fpath)) While I did not have time to add more complexity to the bot, Discord’s strong documentation gives me confidence it would not be that hard to add more features. For example, it would have been nice if the bot could listen for replies or emote reactions to its notifications - if the bot reported that the sink was full of dishes when really it was not, I could react to the notification with an emote that indicates the correct label for the image, and then the bot could automatically send this information to Groundlight, improving ML performance.","s":"Discord Bot Notifications","u":"/python-sdk/blog/grime-guardian","h":"#discord-bot-notifications","p":2},{"i":17,"t":"Extending the functionality of the application, I can imagine adding motion detection to limit the frequency of image submissions to Groundlight. Currently, the application sends images to Groundlight at a fixed interval (every 10 seconds), regardless of whether there has been any significant change in the scene. This approach, while simple, could be optimized to become more cost effective. As it is now, it can lead to unnecessary image submissions when the scene is static. By incorporating motion detection, the application could intelligently decide when to send images to Groundlight. Fortunately, some of my excellent colleagues have built framegrab, an open source tool that automatically handles this.","s":"Future Improvements and Enhancements","u":"/python-sdk/blog/grime-guardian","h":"#future-improvements-and-enhancements","p":2},{"i":19,"t":"Thank you for taking the time to read my post! As I reflect back, I’m very proud of how Groundlight enabled me to very quickly and effortlessly stand up an ML solution to solve a simple office problem in a fun and engaging way! If you are particularly interested or inspired, I encourage you to check out the source code. Feel free to open a GitHub issue with questions or submit a PR with improvements! The Grime Guardian celebrates Tom, my colleague, for his heroic cleaning effort. The grime is no match for his dish-defeating determination!","s":"Build Your Own Grime Guardian","u":"/python-sdk/blog/grime-guardian","h":"#build-your-own-grime-guardian","p":2},{"i":21,"t":"At Groundlight, we put careful thought into measuring the correctness of our machine learning detectors. In the simplest case, this means measuring detector accuracy. But our customers have vastly different performance needs since our platform allows them to train an ML model for nearly any Yes/No visual question-answering task. A single metric like accuracy is unlikely to provide adequate resolution for all such problems. Some customers might care more about false positive mistakes (precision) whereas others might care more about false negatives (recall). To provide insight for an endless variety of use cases yet still summarize performance with a single number, Groundlight's accuracy details view displays each detector's balanced accuracy. Balanced accuracy is the average of recall for all classes and is Groundlight's preferred summary metric. For binary problems, this is just the mean of accuracy on the should-be-YES images and accuracy on the should-be-NOs. We prefer balanced accuracy because it is easier to understand than metrics like the F1 score or AUROC. And since many commercially interesting problems are highly imbalanced - that is the answer is almost always YES or always NO - standard accuracy is not a useful performance measure because always predicting the most common class will yield high accuracy but be useless in practice. Figure 1: the detector accuracy details view shows balanced accuracy and per-class accuracy with exact 95% confidence intervals However, we've found that just displaying the balanced accuracy is not informative enough, as we do not always have an ample supply of ground truth labeled images to estimate it from. Ground truth labels are answers to image queries that have been provided by a customer, or customer representative, and are therefore trusted to be correct. With only a few ground truth labels, the estimate of a detector's balanced accuracy may itself be inaccurate. As such, we find it helpful to quantify and display the degree of possible inaccuracy by constructing confidence intervals for balanced accuracy, which brings us to the subject of this blog post! At Groundlight, we compute and display exact confidence intervals in order to upper and lower bound each detector's balanced accuracy, and thereby convey the amount of precision in the reported metric. The detector's accuracy details view displays these intervals as colored bars surrounding the reported accuracy numbers (see figure 1, above). This blog post describes the mathematics behind how we compute the intervals using the tails of the binomial distribution, and it also strives to provide a healthy amount of intuition for the math. Unlike the approximate confidence intervals based on the Gaussian distribution, which you may be familiar with, confidence intervals based on the binomial tails are exact, regardless of the number of ground truth labels we have available. Our exposition largely follows Langford, 2005 and we use his \"program bound\" as a primitive to construct confidence intervals for the balanced accuracy metric.","s":"Tales from the Binomial Tail: Confidence intervals for balanced accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"","p":20},{"i":23,"t":"To estimate and construct confidence intervals for balanced accuracy, we first need to understand how to construct confidence intervals for standard \"plain old\" accuracy. So we'll start here. Recall that standard accuracy is just the fraction of predictions a classifier makes which happen to be correct. This sounds simple enough, but to define this fraction rigorously, we actually need to make assumptions. To see why, consider the case that our classifier performs well on daytime images but poorly on nighttime ones. If the stream of images consists mainly of daytime photos, then our classifier's accuracy will be high, but if it's mainly nighttime images, our classifier's accuracy will be low. Or if the stream of images drifts slowly over time from day to nighttime images, our classifier won't even have a single accuracy. Its accuracy will be time-period dependent. Therefore, a classifier's \"true accuracy\" is inherently a function of the distribution of examples it's applied to. In practice, we almost never know what this distribution is. In fact, it's something of a mathematical fiction. But it happens to be a useful fiction in so far as it reflects reality, in that it lets us do things like bound the Platonic true accuracy of a classifier and otherwise reason about out-of-sample performance. Consequently, we make the assumption that there exists a distribution over the set of examples that our classifier sees, and that this distribution remains fixed over time. Let's call the distribution over images that our classifier sees, DDD. Each example in DDD consists of an image, x∈Xx \\in \\mathcal{X}x∈X, and an associated binary label, y∈y \\iny∈ { YES, NO }, which is the answer to the query. Let (x,y)∼D(x,y) \\sim D(x,y)∼D denote the action of sampling an example from DDD. We conceptualize our machine learning classifier as a function, hhh, which maps from the set of images, X\\mathcal{X}X, to the set of labels, Y\\mathcal{Y}Y. We say that hhh correctly classifies an example (x,y)(x,y)(x,y) if h(x)=yh(x) = yh(x)=y, and that hhh misclassifies it otherwise. For now, our goal is to construct a confidence inverval for the true, but unknown, accuracy of hhh. We define this true accuracy as the probability that hhh correctly classifies an example drawn from DDD: accD(h)=Pr(x,y)∼D[ h(x)=y ]. \\text{acc}_{D}(h) = \\Pr_{(x,y) \\sim D}[ \\,h(x) = y\\, ].accD(h)=(x,y)∼DPr[h(x)=y]. The true accuracy is impossible to compute exactly because DDD is unknown and the universe of images is impossibly large. However, we can estimate it by evaluating hhh on a finite set of test examples, SSS, which have been drawn i.i.d. from DDD. That is, S={(x1,y1),(x2,y2),...,(xn,yn)}S = \\{ (x_1, y_1), (x_2, y_2), ..., (x_{n}, y_{n}) \\}S={(x1,y1),(x2,y2),...,(xn,yn)} where each (xi,yi)∼D(x_i, y_i) \\sim D(xi,yi)∼D for i=1,…,ni=1,\\ldots,ni=1,…,n. The fraction of images in SSS that hhh correctly classifies is called hhh's empirical accuracy on SSS, and this fraction is computed as acc^S(h)=1n∑i=1n1[ h(xi)=yi ].\\widehat{\\text{acc}}_{S}(h) = \\frac{1}{n} \\sum_{i=1}^n \\mathbf{1}[\\, h(x_i) = y_i \\,].accS(h)=n1i=1∑n1[h(xi)=yi]. The notation 1[ condition ]\\mathbf{1}[\\, \\texttt{condition} \\,]1[condition] is shorthand for the indicator function which equals 1 when the condition\\texttt{condition}condition is true and 0 otherwise. So the formula above just sums the number of examples in SSS that are correctly classified and then multiplies by 1/n. The egg-shaped infographic below depicts the scenario of estimating hhh's true accuracy from its performance on a finite test set. The gray ellipse represents the full distribution of examples, DDD. Each dot corresponds to a single example image, xxx, whose true label, yyy, is represented by the dot's color - red for YES and blue for NO. The classifier, hhh, is represented by the dotted black line. Here, hhh is the decision rule that classifies all points to the left of the line as should-be YES and all points to the right as should-be-NO. The points with light gray circles around them are the ones that have been sampled to form the test set, SSS. Figure 2: true accuracy can only be estimated from performance on a finite test set. The gray shaded region represents the full distribution. The lightly circled points are examples sampled for the test set. In this case, our choice of test set, SSS, was unlucky because hhh's empirical accuracy on SSS looks great, appearing to be 9/9 = 100%. But evaluating hhh on the full distribution of examples, DDD, reveals that its true accuracy is much lower, only 24/27 = 89%. If our goal is to rarely be fooled into thinking that hhh's performance is much better than it really is, then this particular test set was unfortunate in the sense that hhh performs misleadingly well.","s":"Background","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#background","p":20},{"i":25,"t":"It turns out that the problem of determining a classifier's true accuracy from its performance on a finite test set exactly mirrors the problem of determining the bias of a possibly unfair coin after observing some number of flips. In this analogy, the act of classifying an example corresponds to flipping the coin, and the coin landing heads corresponds to the classifier's prediction being correct. Usefully, the binomial distribution completely characterizes the probability of observing kkk heads in NNN independent tosses of a biased coin whose bias, or propensity to land heads, is known to be the probability, ppp, through its probability mass function (PMF), defined as fN,p(k)=(Nk)pk(1−p)N−k.f_{N,p}(k) = {N \\choose k} p^k (1 - p)^{N-k}.fN,p(k)=(kN)pk(1−p)N−k. The cumulative density function (CDF) is the associated function that sums up the PMF probabilities over all outcomes (i.e., number of heads) from 0 through kkk. It tells us the probability of observing kkk or fewer heads in NNN independent tosses when the coin's bias is the probability ppp. The CDF is defined as FN,p(k)=∑j=0kfN,p(k).F_{N,p}(k) = \\sum_{j = 0}^k f_{N,p}(k).FN,p(k)=j=0∑kfN,p(k). Below we've plotted the PMF (left) and CDF (right) functions for a binomial distribution whose parameters are N=30 and p=0.3. The PMF looks like a symmetric \"bell curve\". Its x-axis is the number of tosses that are heads, kkk. And its y-axis is the probability of observing kkk heads in NNN tosses. The CDF plot shows the cumulative sum of the PMF probabilities up through kkk on its y-axis. The CDF is a monotonically increasing function of kkk. Its value is 1.0 on the right side of the plot since the sum of all PMF probabilities must equal one. The binomial PMF doesn't always resemble a bell-shaped curve. This is true of the binomial distributions in the two plots below, whose respective bias parameters are p=0.15 and p=0.96.","s":"Test Set Accuracy and Coin Flips","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#test-set-accuracy-and-coin-flips","p":20},{"i":27,"t":"Now that we've examined the probability of coin tossing and seen how the number of heads from tosses of a biased coin mirrors the number of correctly classified examples in a randomly sampled test set, let's consider the problem of determining an upper bound for the true accuracy of a classifier given its performance on a test set. Imagine that we've sampled a test set, SSS, from DDD with 100 examples, and that our classifier, hhh, correctly classified 80 of them. We would like to upper bound hhh's true accuracy, accD(h)\\text{acc}_D(h)accD(h), having observed its empirical accuracy, acc^S(h)\\widehat{\\text{acc}}_S(h)accS(h) = 80/100 = 80%. Let's start by considering a very naive choice for the upper bound, taking it to equal the empirical accuracy of 80%. The figure below plots the PMF of a binomial distribution with parameters N=100 and p=0.80. Here, N is the test set size and p corresponds to the true, but unknown, classifier accuracy. The plot shows that if our classifier's true accuracy were in fact 80%, there would be a very good chance of observing an even lower empirical accuracy than what we actually observed. This is reflected in the substantial amount of probability mass lying to the left of the purple vertical line, which is placed at the empirical accuracy point of 80/100 = 80%. Figure 3: Binomial PMF (top) and CDF (bottom) for N=100 and true accuracy 80.0%. The CDF shows there is a 54% chance of seeing an empirical accuracy of 80% or less. In fact, the CDF of the binomial tells us that there is a 54% chance of seeing an empirical accuracy of 80% or less when the true accuracy is 80%. And since 54% is fairly good odds, our naive choice of 80% as an upper bound doesn't appear very safe. It would therefore be wise to increase our upper bound if we want it to be an upper bound! In contrast, the plot below shows that if the true accuracy were a bit higher, say 83%, we would only have a 1 in 4 chance of observing an empirical accuracy less than or equal to our observed accuracy of 80%. Or put differently, roughly a quarter of the test sets we could sample from DDD would yield an empirical accuracy of 80% or lower if hhh's true accuracy was 83%. This is shown by the 24.8% probability mass located to the left of the purple line at the 80% empirical accuracy point. The red line is positioned at the hypothesized true accuracy of 83%. Figure 4: Binomial PMF (top) and CDF (bottom) for N=100 and true accuracy 83.0%. The CDF shows there is a 24.8% chance of seeing an empirical accuracy of 80% or less. Still, events with one in four odds are quite common, so hypothesizing an even larger true accuracy would be wise if we want to ensure it's not less than the actual true accuracy. The next plot shows that if the true accuracy were higher still, at 86.3%, the empirical accuracy of 80% or less would be observed on only 5% of sampled test sets. This is evidenced by the even smaller amount of probability mass to the left of the purple line located at the empirical accuracy of 80%. Again, the red line is positioned at the hypothesized true accuracy of 86.3%. Figure 5: Binomial PMF (top) and CDF (bottom) for N=100 and true accuracy 86.3%. The CDF shows there is a 5% chance of seeing an empirical accuracy of 80% or less. In other words, if hhh's true accuracy were 86.3% or greater, we'd observe an empirical accuracy of 80% or lower on just 1 in 20 test sets. Consequently, the hypothesized true accuracy of 86.3% seems like a pretty safe choice for an upper bound.","s":"Upper Bounding the True Accuracy from Test Set Performance","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#upper-bounding-the-true-accuracy-from-test-set-performance","p":20},{"i":29,"t":"The procedure we just outlined, of increasing the hypothesized true accuracy starting from the observed empirical accuracy until exactly 5% of the binomial's probability mass lies to the left of the empirical accuracy, is how we construct an exact 95% upper confidence bound for the true accuracy. Remarkably, if we apply this procedure many times to find 95% accuracy upper confidence bounds for different ML classifiers at Groundlight, the computed upper bounds will in fact be larger than the respective classifiers' true accuracies in 95% of these encountered cases. This last statement is worth mulling over because it is exactly the right way to think about the guarantees associated with upper confidence bounds. Restated, a 95% upper confidence bound procedure for the true accuracy is one that produces a quantity greater than the true accuracy 95% of the time.","s":"Constructing a 95% Upper Confidence Bound","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#constructing-a-95-upper-confidence-bound","p":20},{"i":31,"t":"So now that we've intuitively described the procedure used to derive exact upper confidence bounds, we give a more formal treatment that will be useful in discussing confidence intervals for balanced accuracy. First, recall that the binomial's CDF function, FN,p(k)F_{N,p}(k)FN,p(k), gives the probability of observing kkk or fewer heads in NNN tosses of a biased coin whose bias is ppp. Also, recall in the previous section that we decided to put exactly 5% of the probability mass in the lower tail of the PMF, and this yielded a 95% upper confidence bound. But we could have placed 1% in the lower tail, and doing so would have yielded a 99% upper confidence bound. A 99% upper confidence bound is looser than a 95% upper bound, but it upper bounds the true accuracy on 99% of test sets sampled as opposed to just 95%. The tightness of the bound versus the fraction of test sets it holds for is a trade off that we get to make referred to as the coverage. We control the coverage through a parameter named δ\\deltaδ. Above we had set δ\\deltaδ to 5% which gave us a 1 - δ\\deltaδ = 95% upper confidence bound. But we could have picked some other value for δ\\deltaδ. With δ\\deltaδ understood, we are now ready to give our formal definition of upper confidence bounds. Let δ\\deltaδ be given, NNN be the number of examples in the test set, kkk be the number of correctly classified test examples, and ppp be the true accuracy. Definition: the 100(1 - δ\\deltaδ)% binomial upper confidence bound for ppp is defined as pˉ(N,k,δ)=max{ p : FN,p(k)≥δ }.\\bar{p}(N, k, \\delta) = \\max \\{ \\, p \\,:\\, F_{N,p}(k) \\ge \\delta \\,\\, \\}.pˉ(N,k,δ)=max{p:FN,p(k)≥δ}. In words, pˉ\\bar{p}pˉ is the maximum accuracy for which there exists at least δ\\deltaδ probability mass in the lower tail lying to the left of the observed number of correct classifications for the test set. And this definition exactly mirrors the procedure we used above to find the 95% upper confidence bound. We picked pˉ\\bar{p}pˉ to be the max ppp such that the CDF FN=100,p(k=80)F_{N=100,p}(k=80)FN=100,p(k=80) was at least δ\\deltaδ = 5%. We can easily implement this definition in code. The binomial CDF is available in python through the scipy.stats module as binom.cdf. And we can use it to find the largest value of ppp for which FN,p(k)≥δF_{N,p}(k) \\ge \\deltaFN,p(k)≥δ. However the CDF isn't directly invertible, so we can't just plug in δ\\deltaδ and get pˉ\\bar{p}pˉ out. Instead we need to search over possible values of ppp until we find the largest one that satisfies the inequality. This can be done efficiently using the interval bisection method which we implement below. from scipy.stats import binom def binomial_upper_bound(N, k, delta): \"\"\" Returns a 100*(1 - delta)% upper confidence bound on the accuracy of a classifier that correctly classifies k out of N examples. \"\"\" def cdf(p): return binom.cdf(k, N, p) def search(low, high): if high - low < 1e-6: return low # we have converged close enough mid = (low + high) / 2 if cdf(mid) >= delta: return search(mid, high) else: return search(low, mid) return search(low=k/N, high=1.0)","s":"Exact Upper Confidence Bounds based on the Binomial CDF","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#exact-upper-confidence-bounds-based-on-the-binomial-cdf","p":20},{"i":33,"t":"Referring back to our discussion of coin flips makes it clear how to construct lower bounds for true accuracy. We had likened a correct classification to a biased coin landing heads and we upper bounded the probability of heads based on the observed number of heads. But we could have used the same math to upper bound the probability of tails. And likening tails to misclassifications lets us upper bound the true error rate. Moreover, the error rate equals one minus the accuracy. And so we immediately get a lower bound on the accuracy by computing an upper bound on the error rate and subtracting it from one. Again, let δ\\deltaδ be given, NNN be the number of test examples, kkk be the number of correctly classified test examples, and let ppp be the true, but unknown, accuracy. Definition: the 100(1 - δ\\deltaδ)% binomial lower confidence bound for ppp is defined as p‾(N,k,δ)=1−max{ p : FN,p(N−k)≥δ }.\\underline{p}(N, k, \\delta) = 1 - \\max \\{ \\, p \\,:\\, F_{N,p}(N - k) \\ge \\delta \\,\\, \\}.p(N,k,δ)=1−max{p:FN,p(N−k)≥δ}. Here N−kN - kN−k is the number of misclassified examples observed in the test set.","s":"Lower Confidence Bounds","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#lower-confidence-bounds","p":20},{"i":35,"t":"Now that we know how to derive upper and lower bounds which hold individually at a given confidence level, we can use our understanding to derive upper and lower bounds which hold simultaneously at the given confidence level. To do so, we compute what is called a central confidence interval. A 100×\\times×(1 - δ\\deltaδ)% central confidence interval is computed by running the upper and lower bound procedures with the adjusted confidence level of 100×\\times×(1 - δ\\deltaδ/2)%. For example, if we want to compute a 95% central confidence interval, we compute 97.5% lower and upper confidence bounds. This places δ\\deltaδ/2 = 2.5% probability mass in each tail, thereby providing 95% coverage in the central region. Pictorially below, you can see that the 95% central confidence interval (top row) produces wider bounds than just using the 95% lower and upper confidence bounds separately (bottom row). The looser bounds are unfortunate. But naively computing the lower and upper bounds at the original confidence level of 95% sacrifices coverage due to multiple testing. Figure 6: central confidence intervals produce wider bounds to correct for multiple testing In the next section, where we compute central confidence intervals for balanced accuracy, we will have to do even more to correct for multiple testing.","s":"Central Confidence Intervals","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#central-confidence-intervals","p":20},{"i":37,"t":"Recall that the balanced accuracy for a binary classifier is the mean of its accuracy on examples from the positive class and its accuracy on examples from the negative class. To define what we mean by the \"true balanced accuracy\", we need to define appropriate distributions over examples from each class. To do so, we decompose DDD into separate class conditional distributions, D+D^+D+ and D−D^-D−, where Pr{(x,y)∼D+}=Pr{(x,y)∼D∣y=+1},\\Pr\\left\\{ (x,y) \\sim D^+ \\right\\} = \\Pr\\left\\{ (x,y) \\sim D \\mid y = +1 \\right\\},Pr{(x,y)∼D+}=Pr{(x,y)∼D∣y=+1},Pr{(x,y)∼D−}=Pr{(x,y)∼D∣y=−1}.\\Pr\\left\\{ (x,y) \\sim D^- \\right\\} = \\Pr\\left\\{ (x,y) \\sim D \\mid y = -1 \\right\\}.Pr{(x,y)∼D−}=Pr{(x,y)∼D∣y=−1}. The positive and negative true accuracies are defined with respect to each of these class specific distributions: acc+(h)=E(x,y)∼D+ 1[h(xi)=yi],\\text{acc}^+(h) = E_{(x,y) \\sim D^+} \\, \\mathbf{1}[ h(x_i) = y_i ],acc+(h)=E(x,y)∼D+1[h(xi)=yi],acc−(h)=E(x,y)∼D− 1[h(xi)=yi].\\text{acc}^-(h) = E_{(x,y) \\sim D^-} \\, \\mathbf{1}[ h(x_i) = y_i ].acc−(h)=E(x,y)∼D−1[h(xi)=yi]. The true balanced accuracy is then defined as the average of these, accbal(h)=acc+(h)+acc−(h)2.\\text{acc}_\\text{bal}(h) = \\frac{\\text{acc}^+(h) + \\text{acc}^-(h)}{2}.accbal(h)=2acc+(h)+acc−(h).","s":"Confidence Bounds for Balanced Accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#confidence-bounds-for-balanced-accuracy","p":20},{"i":39,"t":"With the above definitions in hand, we can now bound the balanced accuracy of our classifier based on its performance on a test set. Let SSS be the test set, and let N+N^+N+ denote the number of positive examples in SSS N−N^-N− denote the number of negative examples in SSS k+k^+k+ denote the number of positive examples in SSS that hhh correctly classified k−k^-k− denote the number of negative examples in SSS that hhh correctly classified From these quantities, we can find lower and upper bounds for the positive and negative accuracies based on the binomial CDF. Denote these lower and upper bounds on positive and negative accuracy as acc+‾(h), acc+‾(h), acc−‾(h), acc−‾(h). \\underline{\\text{acc}^+}(h) ,~~ \\overline{\\text{acc}^+}(h) ,~~ \\underline{\\text{acc}^-}(h) ,~~ \\overline{\\text{acc}^-}(h).acc+(h), acc+(h), acc−(h), acc−(h). To find a 100(1 - δ\\deltaδ)% confidence interval for the accbal(h)\\text{acc}_\\text{bal}(h)accbal(h), we first compute the quantities acc+‾(h)=p‾(N+,k+,δ/4) and acc+‾(h)=p‾(N+,k+,δ/4)\\underline{\\text{acc}^+}(h) = \\underline{p}(N^+, k^+, \\delta/4) ~~ \\text{ and } ~~ \\overline{\\text{acc}^+}(h) = \\overline{p}(N^+, k^+, \\delta/4)acc+(h)=p(N+,k+,δ/4) and acc+(h)=p(N+,k+,δ/4)acc−‾(h)=p‾(N−,k−,δ/4) and acc−‾(h)=p‾(N−,k−,δ/4)\\underline{\\text{acc}^-}(h) = \\underline{p}(N^-, k^-, \\delta/4) ~~ \\text{ and } ~~ \\overline{\\text{acc}^-}(h) = \\overline{p}(N^-, k^-, \\delta/4)acc−(h)=p(N−,k−,δ/4) and acc−(h)=p(N−,k−,δ/4) Importantly, we've used an adjusted delta value of δ/4\\delta/4δ/4 to account for mulitple testing. That is, if we desire our overall coverage to be (1 - δ\\deltaδ) = 95%, we run our individual bounding procedures with the substituted delta value of δ/4=1.25%\\delta/4 = 1.25\\%δ/4=1.25%. The reason why is as follows. By construction, each of the four bounds will fail to hold with probability δ/4\\delta/4δ/4. The union bound in appendix A tells us that the probability of at least one of these four bounds failing is no greater than the sum of the probabilities that each fails. Summing up the failure probabilities for all four bounds, the probability that at least one bound fails is therefore no greater than 4⋅(δ/4)=δ4\\cdot(\\delta/4) = \\delta4⋅(δ/4)=δ. Thus the probability that none of the bounds fails is at least 1 - δ\\deltaδ, giving us the desired level of coverage. Last, we obtain our exact lower and upper bounds for balanced accuracy by averaging the respective lower and upper bounds for the positive and negative class accuracies: accbal‾(h)=(1/2)(acc+‾(h)+acc−‾(h))\\underline{\\text{acc}_\\text{bal}}(h) = (1/2) \\left( \\underline{\\text{acc}^+}(h) + \\underline{\\text{acc}^-}(h) \\right)accbal(h)=(1/2)(acc+(h)+acc−(h))accbal‾(h)=(1/2)(acc+‾(h)+acc−‾(h))\\overline{\\text{acc}_\\text{bal}}(h) = (1/2) \\left( \\overline{\\text{acc}^+}(h) + \\overline{\\text{acc}^-}(h) \\right)accbal(h)=(1/2)(acc+(h)+acc−(h)) Pictorially below, we can see how the averaged lower and upper bounds contain the true balanced accuracy. Figure 7: the balanced accuracy is bounded by the respective averages of the lower and upper bounds","s":"Constructing the Bound for Balanced Accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#constructing-the-bound-for-balanced-accuracy","p":20},{"i":41,"t":"The main benefit of using bounds derived from the binomial CDF is that they are exact and always contain the true accuracy the desired fraction of the time. Let's compare this with the commonly used bound obtained by approximating the binomial PMF with a normal distribution. The motivation for the normal approximation comes from the central limit theorem, which states that for a binomial distribution with parameters NNN and ppp, the distribution of the empirical accuracy, p^=k/N\\hat{p} = k/Np^=k/N, converges to a normal distribution as the sample size, NNN, goes to infinity, p^⟶dN(p,p(1−p)N).\\hat{p} \\stackrel{d}{\\longrightarrow} \\mathcal{N}\\left(p, \\frac{p(1-p)}{N}\\right).p^⟶dN(p,Np(1−p)). This motivates the use of the traditional two-standard deviation confidence interval in which one reports Pr{∣p−p^∣≤1.96 σ^}≥95% where σ^=p^(1−p^)N.\\Pr\\left\\{ | p - \\hat{p} | \\le 1.96 \\,\\hat{\\sigma} \\right\\} \\ge 95\\% ~ ~ ~ \\text{where} ~ ~ ~ \\hat{\\sigma} = \\sqrt{ \\frac{ \\hat{p}(1-\\hat{p}) }{N} }.Pr{∣p−p^∣≤1.96σ^}≥95% where σ^=Np^(1−p^). But it's well known that the normal distribution poorly approximates the sampling distribution of p^\\hat{p}p^ when ppp is close to zero or one. For instance, if we observe zero errors on the test set, then p^\\hat{p}p^ will equal 1.0 (i.e., 100% empirical accuracy), and the sample standard deviation, σ^\\hat{\\sigma}σ^, will equal zero. The estimated lower bound will therefore be equal to the empirical accuracy of 100%, which is clearly unbelievable. And since we train classifiers to have as close to 100% accuracy as possible, the regime in which ppp is close to one is of major interest. Thus, exact confidence intervals based on the binomial CDF are both more accurate and practically useful than those based on the normal approximation.","s":"Comparison with intervals based on the Normal approximation","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#comparison-with-intervals-based-on-the-normal-approximation","p":20},{"i":43,"t":"At Groundlight, we've put a lot of thought and effort into assessing the performance of our customers' ML models so they can easily understand how their detectors are performing. This includes the use of balanced accuracy as the summary performance metric and exact confidence intervals to convey the precision of the reported metric. Here we've provided a detailed tour of the methods we use to estimate confidence intervals around balanced accuracy. The estimated intervals are exact in that they possess the stated coverage, no matter how many ground truth labeled examples are available for testing. Our aim in this post has been to provide a better understanding of the metrics we display, how to interpret them, and how they're derived. We hope we've succeeded! If you are interested in reading more about these topics, see the references and brief appendices below.","s":"Conclusion","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#conclusion","p":20},{"i":45,"t":"[Langford, 2005] Tutorial on Practical Prediction Theory for Classification. Journal of Machine Learning Research 6 (2005) 273–306. [Brodersen et al., 2010] The balanced accuracy and its posterior distribution. Proceedings of the 20th International Conference on Pattern Recognition, 3121-24.","s":"References","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#references","p":20},{"i":47,"t":"Recall that the union bound states that for a collection of events, A1,A2,…,AnA_1, A_2, \\ldots, A_nA1,A2,…,An, the probability that at least one of them occurs is less than the sum of the probabilities that each of them occurs: Pr{∪i=1nAi}≤∑i=1nPr(Ai).\\Pr\\left\\{ \\cup_{i=1}^n A_i \\right\\} \\le \\sum_{i=1}^n \\Pr(A_i).Pr{∪i=1nAi}≤∑i=1nPr(Ai). Pictorially, the union bound is understood from the image below which shows that area of the union of the regions is no greater than the sum of the regions' areas. Figure 8: Visualizing the union bound. The area of each region AiA_iAi corresponds to the probability that event AiA_iAi occurs. The sum of the total covered area must be less than the sum of the individual areas.","s":"Appendix A - the union bound","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#appendix-a---the-union-bound","p":20},{"i":49,"t":"The semantics around frequentist confidence intervals is subtle and confusing. The construction of a 95% upper confidence bound does NOT imply there is a 95% probability that the true accuracy is less than the bound. It only guarantees that the true accuracy is less than the upper bound in at least 95% of the cases that we run the the upper confidence bounding procedure (assuming we run the procedure many many times). For each individual case, however, the true accuracy is either greater than or less than the bound. And thus, for each case, the probability that the true accuracy is less than the bound equals either 0 or 1, we just don't know which. If you instead desire more conditional semantics, you need to use Bayesian credible intervals. See Brodersen et al., 2010 for a nice derivation of credible intervals for balanced accuracy.","s":"Appendix B - interpretation of confidence intervals","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#appendix-b---interpretation-of-confidence-intervals","p":20},{"i":52,"t":"Build a working computer vision system in just a few lines of python: from groundlight import Groundlight gl = Groundlight() det = gl.get_or_create_detector(name=\"doorway\", query=\"Is the doorway open?\") img = \"./docs/static/img/doorway.jpg\" # Image can be a file or a Python object image_query = gl.submit_image_query(detector=det, image=img) print(f\"The answer is {image_query.result}\")","s":"Computer Vision powered by Natural Language","u":"/python-sdk/docs/getting-started","h":"#computer-vision-powered-by-natural-language","p":50},{"i":54,"t":"Your images are first analyzed by machine learning (ML) models which are automatically trained on your data. If those models have high enough confidence, that's your answer. But if the models are unsure, then the images are progressively escalated to more resource-intensive analysis methods up to real-time human review. So what you get is a computer vision system that starts working right away without even needing to first gather and label a dataset. At first it will operate with high latency, because people need to review the image queries. But over time, the ML systems will learn and improve so queries come back faster with higher confidence.","s":"How does it work?","u":"/python-sdk/docs/getting-started","h":"#how-does-it-work","p":50},{"i":56,"t":"Groundlight's Escalation Technology combines the power of generative AI using our Visual LLM, along with the speed of edge computing, and the reliability of real-time human oversight.","s":"Escalation Technology","u":"/python-sdk/docs/getting-started","h":"#escalation-technology","p":50},{"i":58,"t":"Install the groundlight SDK. Requires python version 3.9 or higher. pip3 install groundlight Head over to the Groundlight dashboard to create an API token. You will need to set the GROUNDLIGHT_API_TOKEN environment variable to access the API. export GROUNDLIGHT_API_TOKEN=api_2GdXMflhJi6L_example Create a python script. ask.py from groundlight import Groundlight gl = Groundlight() det = gl.get_or_create_detector(name=\"doorway\", query=\"Is the doorway open?\") img = \"./docs/static/img/doorway.jpg\" # Image can be a file or a Python object image_query = gl.submit_image_query(detector=det, image=img) print(f\"The answer is {image_query.result}\") Run it! python ask.py","s":"Building a simple visual application","u":"/python-sdk/docs/getting-started","h":"#building-a-simple-visual-application","p":50},{"i":61,"t":"API tokens authenticate your code to access Groundlight services. They look like api_2GdXMflhJ... and should be treated as sensitive credentials. The SDK can access your token in two ways: Environment Variable (Recommended) from groundlight import Groundlight # Automatically uses GROUNDLIGHT_API_TOKEN environment variable gl = Groundlight() Direct Configuration from groundlight import Groundlight token = get_token_from_secure_location() gl = Groundlight(api_token=token)","s":"Using API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"","p":60},{"i":63,"t":"Store tokens in environment variables or secure vaults Never commit tokens to code repositories Limit token access to necessary personnel Rotate tokens periodically Revoke unused tokens promptly","s":"Security Best Practices","u":"/python-sdk/docs/getting-started/api-tokens","h":"#security-best-practices","p":60},{"i":65,"t":"Access token management at dashboard.groundlight.ai/reef/my-account/api-tokens","s":"Managing Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#managing-tokens","p":60},{"i":67,"t":"Navigate to the API tokens page Enter a token name and click \"Create API Token\" Save the generated token securely - it won't be shown again!","s":"Create a Token","u":"/python-sdk/docs/getting-started/api-tokens","h":"#create-a-token","p":60},{"i":69,"t":"Find the token in your dashboard by name Click \"Delete\" Confirm revocation Important: Update your applications with a new token before revoking an old one to prevent service interruption.","s":"Revoke a Token","u":"/python-sdk/docs/getting-started/api-tokens","h":"#revoke-a-token","p":60},{"i":71,"t":"In this guide, you will set up your development environment to interact with the Groundlight API using the Groundlight SDK. You will learn how to: Install the Groundlight SDK Set your API token Call the Groundlight API","s":"Initial setup","u":"/python-sdk/docs/getting-started/initial-setup","h":"","p":70},{"i":73,"t":"You will need: A Groundlight account An API token from the Groundlight dashboard Python 3.9+","s":"Prerequisites","u":"/python-sdk/docs/getting-started/initial-setup","h":"#prerequisites","p":70},{"i":75,"t":"Groundlight provides a Python (3.9+) SDK that you can use to interact with the Groundlight API. In your project directory, create a virtual environment. python -m venv groundlight-env Activate the virtual environment using On macOS or Linux, source groundlight-env/bin/activate On Windows, .\\groundlight-env\\Scripts\\activate Install the Groundlight SDK using pip: pip install groundlight For more detailed installation instructions, see the installation guide.","s":"Install the Groundlight SDK","u":"/python-sdk/docs/getting-started/initial-setup","h":"#install-the-groundlight-sdk","p":70},{"i":77,"t":"Every request to the Groundlight API requires an API token. The Groundlight SDK is designed to pull the API token from an environment variable GROUNDLIGHT_API_TOKEN. Set the API token in your terminal: # MacOS / Linux export GROUNDLIGHT_API_TOKEN='your-api-token' # Windows setx GROUNDLIGHT_API_TOKEN \"your-api-token\"","s":"Set your API token","u":"/python-sdk/docs/getting-started/initial-setup","h":"#set-your-api-token","p":70},{"i":79,"t":"Call the Groundlight API by creating a Detector and submitting an ImageQuery. ask.py from groundlight import Groundlight, Detector, ImageQuery gl = Groundlight() det: Detector = gl.get_or_create_detector( name=\"parking-space\", query=\"Is there a car in the leftmost parking space?\" ) img = \"./docs/static/img/doorway.jpg\" # Image can be a file or a Python object image_query = gl.submit_image_query(detector=det, image=img) print(f\"The answer is {image_query.result.label}\") print(image_query) Run the code using python3 ask.py. The code will submit an image to the Groundlight API and print the result: The answer is NO ImageQuery( id='iq_2pL5wwlefaOnFNQx1X6awTOd119', query=\"Is there a car in the leftmost parking space?\", detector_id='det_2owcsT7XCsfFlu7diAKgPKR4BXY', result=BinaryClassificationResult( confidence=0.9995857543478209, label= ), created_at=datetime.datetime(2024, 11, 25, 11, 5, 57, 38627, tzinfo=tzutc()), patience_time=30.0, confidence_threshold=0.9, type=, result_type=, metadata=None ) For more information on the Groundlight SDK, see the API Reference, or check out our guide to building applications with the Groundlight SDK.","s":"Call the Groundlight API","u":"/python-sdk/docs/getting-started/initial-setup","h":"#call-the-groundlight-api","p":70},{"i":81,"t":"Groundlight provides a powerful \"computer vision powered by natural language\" system that enables you to build visual applications with minimal code. With Groundlight, you can quickly create applications for various use cases, from simple object detection to complex visual analysis. On the following pages, we'll guide you through the process of building applications with Groundlight. Grabbing images: Understand the intricacies of how to submit images from various input sources to Groundlight. Working with detectors: Learn how to create, configure, and use detectors in your Groundlight-powered applications. Submitting image queries: Submit images to Groundlight for analysis and retrieve the results. Confidence levels: Master how to control the trade-off of latency against accuracy by configuring the desired confidence level for your detectors. Handling errors: Understand how to handle and troubleshoot HTTP errors (ApiException) that may occur while using Groundlight. Asynchronous queries: Groundlight makes it easy to submit asynchronous queries. Learn how to submit queries asynchronously and retrieve the results later. Using Groundlight on the edge: Discover how to deploy Groundlight in edge computing environments for improved performance and reduced latency. Alerts: Learn how to set up alerts to notify you via text (SMS) or email when specific conditions are met in your visual applications. Industrial applications: Learn how to apply modern natural-language-based computer vision to your industrial and manufacturing applications. By exploring these resources and sample applications, you'll be well on your way to building powerful visual applications using Groundlight's computer vision and natural language capabilities.","s":"Guide","u":"/python-sdk/docs/guide","h":"","p":80},{"i":84,"t":"Groundlight allows you to ask a variety of questions about images. The most common type of question is a binary question that can be answered with a simple \"YES\" or \"NO\". For example, \"Is there a car in the leftmost parking space?\" or \"Is the door open?\". Ambiguity in the question can lead to \"UNCLEAR\" responses. detector = gl.get_or_create_detector( name=\"Conveyor belt boxes\", query=\"Are there any cardboard boxes on the conveyor belt?\" ) image_query = gl.submit_image_query(detector=detector, image=some_image) # The SDK can return \"YES\" or \"NO\" (or \"UNCLEAR\") print(f\"The answer is {image_query.result.label}\") So, what makes a good question for a binary-mode detector? Let's look at a few good ✅, moderate 🟡, and bad ❌ examples!","s":"Introduction","u":"/python-sdk/docs/getting-started/writing-queries","h":"#introduction","p":82},{"i":87,"t":"This question is binary and can be answered unambiguously with a simple \"YES\" or \"NO\" based on the image content.","s":"✅ Are there any cardboard boxes on the conveyor belt?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-are-there-any-cardboard-boxes-on-the-conveyor-belt","p":82},{"i":89,"t":"This question is okay, but it could be rephrased to be more specific. For example, \"Is the black trash can more than 80% full?\" tip With Groundlight, your questions may be routed to a machine learning model or a human reviewer. One way to improve your questions is to think, \"If I saw this question for the first time, would I know precisely what the person was trying to convey?\"","s":"🟡 Is the trash can full?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-trash-can-full","p":82},{"i":91,"t":"The query is very specific about what \"YES\" means. According to this query, any slight / partial opening would be considered \"NO\".","s":"✅ Is the garage door completely closed?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-garage-door-completely-closed","p":82},{"i":93,"t":"This question is somewhat ambiguous. Different people may have different opinions on what is nice weather. Instead, you might ask \"Can you see any clouds in the sky?\"","s":"🟡 Is the weather nice out?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-weather-nice-out","p":82},{"i":95,"t":"This is not a binary question — \"YES\" and \"NO\" don't make sense in this context. Also, it's not clear what the \"thing\" refers to.","s":"❌ Where is the thing?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-where-is-the-thing","p":82},{"i":97,"t":"While this question is binary, \"cleanliness\" can be somewhat subjective. An improved version could be: \"Are there any visible spills or clutter on the factory floor?\"","s":"🟡 Is the factory floor clean and organized?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-factory-floor-clean-and-organized","p":82},{"i":99,"t":"Groundlight supports triggering alerts based on the results of image queries. Alerts can be configured to notify you when a specific condition is met. To configure an alert, navigate to the Alerts tab on the Groundlight dashboard. Here, you can create a new alert by clicking the Create New Alert button.","s":"Configuring Alerts","u":"/python-sdk/docs/guide/alerts","h":"","p":98},{"i":101,"t":"When creating a new alert, you can configure alerts for the following conditions: A specific answer is returned N times in a row. The answer changes from one value to another. There are no changes in the answer for a specified period of time. There are no queries submitted for a specified period of time. A snooze period can be configured to prevent the alert from triggering multiple times in quick succession. Optionally, you can configure the alert to include the triggering image in the alert message. tip Consider configuring a \"no queries submitted\" alert to monitor system health. If your application is expected to submit queries regularly (e.g., monitoring a camera feed), setting an alert for when no queries are received for a few minutes can help quickly identify if your system has gone offline or is experiencing connectivity issues.","s":"Alert Configuration","u":"/python-sdk/docs/guide/alerts","h":"#alert-configuration","p":98},{"i":103,"t":"Groundlight supports the following alerts via Email and Text Message (SMS), with webhook support coming soon.","s":"Alert Mediums","u":"/python-sdk/docs/guide/alerts","h":"#alert-mediums","p":98},{"i":105,"t":"If your account includes access to edge models, you can download and install them on your edge devices. This allows you to run Groundlight's ML models locally on your edge devices, reducing latency and increasing throughput. Additionally, inference requests handled on the edge are not counted towards your account's usage limits. This is achieved through a proxy service called the edge-endpoint, a lightweight, open-source service that runs on your edge devices. The edge-endpoint is responsible for downloading and running models and communicating with the Groundlight cloud service. You can find the source code and documentation for the edge-endpoint on GitHub.","s":"Processing Images on the Edge","u":"/python-sdk/docs/guide/edge","h":"","p":104},{"i":107,"t":"The edge-endpoint is a proxy service that runs on your edge devices. It intercepts requests and responses between your application and the Groundlight cloud service, enabling you to run Groundlight's ML models locally on your edge devices. When your application sends an image query to the Groundlight cloud service, the edge-endpoint intercepts the request and downloads the relevant edge-sized model from the cloud. It then runs the model locally on the edge device and returns the result to your application. By default, it will return answers without escalating to the cloud if the edge model answers above the specified confidence threshold. Otherwise, it will escalate to the cloud for a more confident answer. This process also allows Groundlight to learn from examples that are challenging for the edge model. Once a new edge model is trained to handle such examples, it will automatically be downloaded to the edge device for future queries. The edge-endpoint operates as a set of containers on an \"edge device,\" which can be an NVIDIA Jetson device, a rack-mounted server, or even a Raspberry Pi. The main container is the edge-endpoint proxy service, which handles requests and manages other containers, such as the inferencemodel containers responsible for loading and running the ML models.","s":"How the Edge Endpoint Works","u":"/python-sdk/docs/guide/edge","h":"#how-the-edge-endpoint-works","p":104},{"i":109,"t":"To set up an edge-endpoint manually, please refer to the deploy README. Groundlight also provides managed edge-endpoint servers. Management is performed via Balena. To received a managed edge-endpoint, please contact us.","s":"Installing and Running the Edge Endpoint","u":"/python-sdk/docs/guide/edge","h":"#installing-and-running-the-edge-endpoint","p":104},{"i":111,"t":"To utilize the edge-endpoint, set the Groundlight SDK to use the edge-endpoint's URL instead of the cloud endpoint. Your application logic can remain unchanged and will work seamlessly with the Groundlight edge-endpoint. This setup allows some ML responses to be returned much faster, locally. Note that image queries processed at the edge-endpoint will not appear on the Groundlight cloud dashboard unless specifically configured. In such cases, the edge prediction will not be reflected in the cloud image query. Additional documentation and configuration options are available in the edge-endpoint repository. To set the Groundlight Python SDK to submit requests to your edge-endpoint proxy server, you can either pass the endpoint URL to the Groundlight constructor like this: from groundlight import Groundlight gl = Groundlight(endpoint=\"http://localhost:30101\") or set the GROUNDLIGHT_ENDPOINT environment variable like: export GROUNDLIGHT_ENDPOINT=http://localhost:30101 python your_app.py tip In the above example, the edge-endpoint is running on the same machine as the application, so the endpoint URL is http://localhost:30101. If the edge-endpoint is running on a different machine, you should replace localhost with the IP address or hostname of the machine running the edge-endpoint.","s":"Using the Edge Endpoint","u":"/python-sdk/docs/guide/edge","h":"#using-the-edge-endpoint","p":104},{"i":113,"t":"We have benchmarked the edge-endpoint handling 500 requests/sec at a latency of less than 50ms on an off-the-shelf Katana 15 B13VGK-1007US laptop (Intel® Core™ i9-13900H CPU, NVIDIA® GeForce RTX™ 4070 Laptop GPU, 32GB DDR5 5200MHz RAM) running Ubuntu 20.04. The following graphs show the throughput and latency of the edge-endpoint running on the Katana 15 laptop. As time progresses along the x-axis, the benchmark script ramps up the number of requests per second from 1 to 500 (and the number of clients submitting requests from 1 to 60). The y-axes shows the throughput in requests per second and the latency in seconds. The edge-endpoint is designed to be lightweight and efficient, and can be run on a variety of edge devices, including NVIDIA Jetson devices, Raspberry Pi, and other ARM- and x86-based devices.","s":"Edge Endpoint performance","u":"/python-sdk/docs/guide/edge","h":"#edge-endpoint-performance","p":104},{"i":115,"t":"Groundlight provides a simple interface for submitting asynchronous queries. This is useful for situations in which the thread or process or machine submitting image queries is not the same thread or machine that will be retrieving and using the results. For example, you might have a forward deployed robot or camera that submits image queries to Groundlight, and a separate server that retrieves the results and takes action based on them. We will refer to these two machines as the submitting machine and the retrieving machine.","s":"Using Asynchronous Queries","u":"/python-sdk/docs/guide/async-queries","h":"","p":114},{"i":117,"t":"On the submitting machine, you will need to install the Groundlight Python SDK. Then you can submit image queries asynchronously using the ask_async interface (read the full documentation here). ask_async submits your query and immediately returns, without waiting for an answer. This minimizes the time your program spends interacting with Groundlight. Consequently, the ImageQuery object returned by ask_async does not contain a result (the result field will be None). This is suitable for scenarios where the submitting machine does not need the result. Instead, the submitting machine only needs to share the ImageQuery.id with the retrieving machine. This can be done through a database, message queue, or another method. In this example, we assume you are using a database to save the ImageQuery.id with db.save(image_query.id). from time import sleep from framegrab import FrameGrabber from groundlight import Groundlight # Create a FrameGrabber for a generic USB camera (e.g., a webcam) config = {'input_type': 'generic_usb'} grabber = FrameGrabber.create_grabber(config) detector = gl.get_or_create_detector(name=\"your_detector_name\", query=\"your_query\") while True: image = grabber.grab() image_query = gl.ask_async(detector=detector, image=image) db.save(image_query.id) # Save the image_query.id to a database for the retrieving machine to use sleep(10) # Sleep for 10 seconds before grabbing the next image grabber.release()","s":"Setup Submitting Machine","u":"/python-sdk/docs/guide/async-queries","h":"#setup-submitting-machine","p":114},{"i":119,"t":"On the retrieving machine, ensure the Groundlight Python SDK is installed. You can then use the get_image_query method to fetch results of image queries submitted by the submitting machine. The retrieving machine can utilize the ImageQuery.result to perform actions based on the application's requirements. In this example, we assume your application retrieves the next image query ID to process from a database using db.get_next_image_query_id(). This function should return None when all ImageQuery entries have been processed. from groundlight import Groundlight detector = gl.get_or_create_detector(name=\"your_detector_name\", query=\"your_query\") image_query_id = db.get_next_image_query_id() while image_query_id is not None: image_query = gl.get_image_query(id=image_query_id) # retrieve the image query from Groundlight result = image_query.result # take action based on the result of the image query if result.label == 'YES': pass # TODO: do something based on your application elif result.label == 'NO': pass # TODO: do something based on your application elif result.label == 'UNCLEAR': pass # TODO: do something based on your application # update image_query_id for next iteration of the loop image_query_id = db.get_next_image_query_id()","s":"Setup Retrieving Machine","u":"/python-sdk/docs/guide/async-queries","h":"#setup-retrieving-machine","p":114},{"i":121,"t":"When you submit an image query asynchronously, ML prediction on your query is not instant. So attempting to retrieve the result immediately after submitting an async query will likely result in an UNCLEAR result as Groundlight is still processing your query. Instead, if your code needs a result synchronously we recommend using one of our methods with a polling mechanism to retrieve the result (e.g. ask_confident). You can see all of the interfaces available in the documentation here. from PIL import Image from groundlight import Groundlight detector = gl.get_or_create_detector(name=\"your_detector_name\", query=\"your_query\") image = Image.open(\"/path/to/your/image.jpg\") image_query = gl.ask_async(detector=detector, image=image) # Submit async query to Groundlight assert image_query.result is None # IQs returned from `ask_async` will not have a result image_query = gl.get_image_query(id=image_query.id) # Immediately retrieve the image query from Groundlight result = image_query.result # This may be 'UNCLEAR' as Groundlight continues to process the query image_query = gl.wait_for_confident_result(id=image_query.id) # Poll for a confident result from Groundlight result = image_query.result","s":"Important Considerations","u":"/python-sdk/docs/guide/async-queries","h":"#important-considerations","p":114},{"i":123,"t":"When building applications with the Groundlight SDK, you may encounter errors during API calls. This page covers how to handle such errors and build robust code that can gracefully handle exceptions.","s":"Handling Errors","u":"/python-sdk/docs/guide/handling-errors","h":"","p":122},{"i":125,"t":"In the event of an HTTP error during an API call, the Groundlight SDK raises an ApiException. This exception provides access to various metadata: import traceback from groundlight import ApiException, Groundlight gl = Groundlight() try: d = gl.get_or_create_detector( name=\"Road Checker\", query=\"Is the site access road blocked?\", ) iq = gl.submit_image_query(d, get_image(), wait=60) except ApiException as e: # Print a traceback for debugging traceback.print_exc() # e.reason contains a textual description of the error print(f\"Error reason: {e.reason}\") # e.status contains the HTTP status code print(f\"HTTP status code: {e.status}\") # Common HTTP status codes: # 400 Bad Request: The request was invalid or malformed # 401 Unauthorized: Your GROUNDLIGHT_API_TOKEN is missing or invalid # 403 Forbidden: The request is not allowed due to insufficient permissions # 404 Not Found: The requested resource was not found # 429 Too Many Requests: The rate limit for the API has been exceeded # 500 Internal Server Error: An error occurred on the server side","s":"Handling ApiException","u":"/python-sdk/docs/guide/handling-errors","h":"#handling-apiexception","p":122},{"i":127,"t":"When working with the Groundlight SDK, follow these best practices to handle exceptions and build robust code:","s":"Best Practices for Handling Exceptions","u":"/python-sdk/docs/guide/handling-errors","h":"#best-practices-for-handling-exceptions","p":122},{"i":129,"t":"Catch only the specific exceptions that you expect to be raised, such as ApiException. Avoid catching broad exceptions like Exception, as it may make debugging difficult and obscure other unrelated issues.","s":"Catch Specific Exceptions","u":"/python-sdk/docs/guide/handling-errors","h":"#catch-specific-exceptions","p":122},{"i":131,"t":"Consider creating custom exception classes for your application-specific errors. This can help you differentiate between errors originating from the Groundlight SDK and those from your application.","s":"Use Custom Exception Classes","u":"/python-sdk/docs/guide/handling-errors","h":"#use-custom-exception-classes","p":122},{"i":133,"t":"Log exceptions using appropriate log levels (e.g., error, warning) and include relevant context. This practice aids in effective debugging and monitoring application health.","s":"Log Exceptions","u":"/python-sdk/docs/guide/handling-errors","h":"#log-exceptions","p":122},{"i":135,"t":"Incorporate retry logic with exponential backoff for transient errors, such as network issues or rate limits. This strategy allows your application to recover from temporary problems automatically.","s":"Implement Retry Logic","u":"/python-sdk/docs/guide/handling-errors","h":"#implement-retry-logic","p":122},{"i":137,"t":"Ensure your application remains functional despite errors by handling exceptions gracefully. This might involve displaying user-friendly error messages or reverting to default behaviors.","s":"Handle Exceptions Gracefully","u":"/python-sdk/docs/guide/handling-errors","h":"#handle-exceptions-gracefully","p":122},{"i":139,"t":"Write tests to ensure that your error handling works as expected. This can help you catch issues early and ensure that your application can handle errors gracefully in production. By following these best practices, you can create robust and resilient applications that can handle server errors and other exceptions when using the Groundlight SDK.","s":"Test Your Error Handling","u":"/python-sdk/docs/guide/handling-errors","h":"#test-your-error-handling","p":122},{"i":142,"t":"When creating a Detector or submitting an ImageQuery, you can set the necessary confidence level for your use case. We call this the confidence_threshold. Tuning this value allows you to balance the trade-offs between accuracy and latency / cost. Confidence scores represent the model's internal assessment of its prediction reliability. Groundlight models provide calibrated confidence scores, which means that, when a model makes a prediction with a confidence of 0.95, we expect that (under typical conditions) 95% of the time that prediction will be correct. In other words, a prediction with a confidence of 0.95 is expected to be correct 19 out of 20 times. Confidence calibration kicks in after a sufficient number of labeled images have been collected. Confidence thresholds represent a minimum confidence that must be achieved for Groundlight to return an answer. If a confidence above the confidence threshold is not achieved, Groundlight will escalate your query up our heirarchy to stronger models and human reviewers. Confidence thresholds should be determined based on your application's acceptable error rate and the potential impact of those errors. Higher confidence thresholds result in predictions that are more accurate but may take longer to process (because they are escalated to more complex/expensive models or human review). Lower confidence thresholds result in faster responses but may be less accurate. Over time, and as more human-provided labels are collected, the ML models will improve, and our fastest models will be able to provide higher confidence predictions more quickly.","s":"Introduction to Confidence Thresholds","u":"/python-sdk/docs/guide/managing-confidence","h":"#introduction-to-confidence-thresholds","p":140},{"i":144,"t":"In some cases, challenging queries that require human review can take a number of seconds, so we provide both client-side and server-side timeouts to ensure that your application can continue to function even if the query takes longer than expected. Set a client-side timeout by configuring the wait parameter in the submit_image_query method. This simply stops the client from waiting for a response after a certain amount of time. Set a server-side timeout by configuring the patience_time parameter in the submit_image_query method. This tells Groundlight to deprioritize the query after a certain amount of time, which can be useful if the result of a query becomes less relevant over time. For example, if you are monitoring a live video feed, you may want to deprioritize queries that are more than a few seconds old so that our human reviewers can focus on the most recent data. from groundlight import Groundlight from PIL import Image import requests gl = Groundlight() image_url = \"https://www.photos-public-domain.com/wp-content/uploads/2010/11/over_flowing_garbage_can.jpg\" image = Image.open(requests.get(image_url, stream=True).raw) d = gl.get_or_create_detector( name=\"trash\", query=\"Is the trash can full?\", confidence_threshold=0.95, # Set the confidence threshold to 0.95 ) # This will wait until either 60 seconds have passed or the confidence reaches 0.95 image_query = gl.submit_image_query( detector=d, image=image, wait=10, # tell the client to stop waiting after 10 seconds patience_time=20, # tell Groundlight to deprioritize the query after 20 seconds ) print(f\"The answer is {image_query.result.label}\") print(f\"The confidence is {image_query.result.confidence}\") tip Tuning the confidence_threshold allows you to balance accuracy with response time. Higher confidence thresholds result in more accurate predictions but can increase latency. Achieving these higher confidence levels often requires more labels, which can increase labor costs. As our models improve over time, they will become more confident, enabling you to receive higher-confidence answers more quickly and at a lower cost.","s":"Configuring Timeouts","u":"/python-sdk/docs/guide/managing-confidence","h":"#configuring-timeouts","p":140},{"i":146,"t":"In order to analyze images with Groundlight, you first need to capture images from a camera or other image source. This guide will show you how to capture images from different sources and formats.","s":"Grabbing Images","u":"/python-sdk/docs/guide/grabbing-images","h":"","p":145},{"i":148,"t":"For a unified interface to many different kinds of image sources, see framegrab, an open-source python library maintained by Groundlight.","s":"Framegrab","u":"/python-sdk/docs/guide/grabbing-images","h":"#framegrab","p":145},{"i":150,"t":"Framegrab has many useful features for working with cameras and other image sources. It provides a single interface for extracting images from many different image sources, including generic USB cameras (such as webcams), RTSP streams, HTTP live streams, YouTube live streams, Basler USB cameras, Basler GigE cameras, and Intel RealSense depth cameras. Installation is straightforward: pip install framegrab[all] To capture frames, first configure a FrameGrabber object, specifying the image source. Then call the grab() method to capture a frame: from framegrab import FrameGrabber # Create a FrameGrabber for a generic USB camera (e.g., a webcam) config = { 'input_type': 'generic_usb', } grabber = FrameGrabber.create_grabber(config) frame = grabber.grab() Framegrab returns images as numpy arrays in BGR format, which is the standard format for OpenCV. This makes it easy to use the images with other image processing libraries, such as OpenCV. See the framegrab documentation for more information on configuring different image sources.","s":"Capturing Images","u":"/python-sdk/docs/guide/grabbing-images","h":"#capturing-images","p":145},{"i":152,"t":"Framegrab also includes a motion detection module, which can be used to detect motion in a video stream. This can be useful for detecting when something changes in a scene, such as when a person enters a room or a car pulls into a parking space. To use the built-in motion detection functionality, first create a MotionDetector object, specifying the percentage threshold for motion detection. Then, use the motion_detected() method with every captured frame to check if motion has been detected: from framegrab import FrameGrabber, MotionDetector config = {'input_type': 'generic_usb'} grabber = FrameGrabber.create_grabber(config) motion_threshold = 1.0 mdet = MotionDetector(pct_threshold=motion_threshold) while True: frame = grabber.grab() if frame is None: print(\"No frame captured!\") continue if mdet.motion_detected(frame): print(\"Motion detected!\") In this example, motion_threshold specifies the sensitivity level for detecting motion based on the percentage of pixels that have changed. By default, this is set to 1.0, indicating a 1% change. To increase the sensitivity, set the threshold to a lower value, such as 0.5%. Likewise, to decrease the sensitivity, set the threshold to a higher value, such as 2%.","s":"Motion Detection","u":"/python-sdk/docs/guide/grabbing-images","h":"#motion-detection","p":145},{"i":154,"t":"Groundlight's SDK accepts images in many popular formats, including PIL, OpenCV, and numpy arrays.","s":"Image Formats","u":"/python-sdk/docs/guide/grabbing-images","h":"#image-formats","p":145},{"i":156,"t":"The Groundlight SDK can accept PIL images directly in submit_image_query. Here's an example: from groundlight import Groundlight from PIL import Image gl = Groundlight() det = gl.get_or_create_detector(name=\"path-clear\", query=\"Is the path clear?\") pil_img = Image.open(\"./docs/static/img/doorway.jpg\") gl.submit_image_query(det, pil_img)","s":"PIL","u":"/python-sdk/docs/guide/grabbing-images","h":"#pil","p":145},{"i":158,"t":"OpenCV is a popular image processing library, with many utilities for working with images. OpenCV images are stored as numpy arrays. (Note they are stored in BGR order, not RGB order, but as of Groundlight SDK v0.8 this is the expected order.) OpenCV's images can be send directly to submit_image_query as follows: import cv2 cam = cv2.VideoCapture(0) # Initialize camera (0 is the default index) _, frame = cam.read() # Capture one frame gl.submit_image_query(detector, frame) # Send the frame to Groundlight cam.release() # Release the camera","s":"OpenCV","u":"/python-sdk/docs/guide/grabbing-images","h":"#opencv","p":145},{"i":160,"t":"The Groundlight SDK can accept images as numpy arrays. They should be in the standard HWN format in BGR color order, matching OpenCV standards. Pixel values should be from 0-255 (not 0.0-1.0 as floats). So uint8 data type is preferable since it saves memory. Here's sample code to create an 800x600 random image in numpy: import numpy as np np_img = np.random.uniform(low=0, high=255, size=(600, 800, 3)).astype(np.uint8) # Note: channel order is interpretted as BGR not RGB gl.submit_image_query(detector, np_img) Channel order: BGR vs RGB Groundlight expects images in BGR order, because this is standard for OpenCV, which uses numpy arrays as image storage. (OpenCV uses BGR because it was originally developed decades ago for compatibility with the BGR color format used by many cameras and image processing hardware at the time of its creation.) Most other image libraries use RGB order, so if you are using images as numpy arrays which did not originate from OpenCV you likely need to reverse the channel order before sending the images to Groundlight. Note this change was made in v0.8 of the Groundlight SDK - in previous versions, RGB order was expected. If you have an RGB array, you must reverse the channel order before sending it to Groundlight, like: # Convert numpy image in RGB channel order to BGR order bgr_img = rgb_img[:, :, ::-1] The difference can be surprisingly subtle when red and blue get swapped. Often images just look a little off, but sometimes they look very wrong. Here's an example of a natural-scene image where you might think the color balance is just off: In industrial settings, the difference can be almost impossible to detect without prior knowledge of the scene:","s":"Numpy","u":"/python-sdk/docs/guide/grabbing-images","h":"#numpy","p":145},{"i":162,"t":"Once you have created a Detector and captured an image, you can submit your image to Groundlight for analysis.","s":"Submitting Image Queries","u":"/python-sdk/docs/guide/submitting-image-queries","h":"","p":161},{"i":164,"t":"The primary method for submitting an image query is submit_image_query(detector: Detector, image: Any). This method takes a Detector object and an image as input and returns an ImageQuery object. from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector(id=\"det_abcdef...\") image_query = gl.submit_image_query(detector=detector, image=\"path/to/image.jpg\") submit_image_query provides fine-grained control over how the ImageQuery is processed. For example, a per-query confidence threshold can be set (defaults to the Detector's confidence threshold), and the query can be set to wait for up to a certain amount of time for a confident response (defaults to 30s). For example: from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector(id=\"det_abcdef...\") image_query = gl.submit_image_query( detector=detector, image=\"path/to/image.jpg\", confidence_threshold=0.95, wait=10.0, # seconds ) See the API Reference for more information on the submit_image_query method.","s":"Submit an Image Query","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#submit-an-image-query","p":161},{"i":166,"t":"For convenience, the submit_image_query method has aliases for the different patterns of usage. These aliases are ask_confident, ask_ml, and ask_async.","s":"Aliases for submit_image_query","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#aliases-for-submit_image_query","p":161},{"i":168,"t":"ask_confident evaluates an image with Groundlight waiting until an answer above the confidence threshold of the detector is reached or the wait period has passed. from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector(id=\"det_abcdef...\") image_query = gl.ask_confident(detector=detector, image=\"path/to/image.jpg\")","s":"Get the first confident answer","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#get-the-first-confident-answer","p":161},{"i":170,"t":"ask_async is a convenience method for submitting an ImageQuery asynchronously. This is equivalent to calling submit_image_query with want_async=True and wait=0. Use get_image_query to retrieve the result of the ImageQuery. from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector(id=\"det_abcdef...\") # Submit ImageQuery asynchronously image_query = gl.ask_async(detector=detector, image=\"path/to/image.jpg\") # Do other work while waiting for the result sleep(1.0) # Retrieve the result of the ImageQuery. Note that the provided # result can change over time - as the query is escalated through # our ladder - until a confident answer is reached. image_query = gl.get_image_query(id=image_query.id) See this guide for more information on ImageQueries submitted asynchronously.","s":"Submit an ImageQuery asynchronously","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#submit-an-imagequery-asynchronously","p":161},{"i":172,"t":"ask_ml evaluates an image with Groundlight and returns the first answer Groundlight can provide, agnostic of confidence. There is no wait period when using this method. It is called ask_ml because our machine learning models are earliest on our escalation ladder and thus always the fastest to respond. note We recommend using the ask_confident or the ask_async methods whenever possible for best results. from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector(id=\"det_abcdef...\") image_query = gl.ask_ml(detector=detector, image=\"path/to/image.jpg\") When using this method, low-confidence Image Queries will still be escalated to human review - this allows our models to continue to improve over time.","s":"(Advanced) Get the first available answer, regardless of confidence","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#advanced-get-the-first-available-answer-regardless-of-confidence","p":161},{"i":175,"t":"In practice, you may want to check for a new result on your query. For example, after a cloud reviewer labels your query. For example, you can use the image_query.id after the above submit_image_query() call. from groundlight import Groundlight gl = Groundlight() image_query = gl.get_image_query(id=\"iq_YOUR_IMAGE_QUERY_ID\")","s":"Retrieve an Image Query result","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#retrieve-an-image-query-result","p":161},{"i":177,"t":"from groundlight import Groundlight gl = Groundlight() # Defaults to 10 results per page image_queries = gl.list_image_queries() # Pagination: 1st page of 5 results per page image_queries = gl.list_image_queries(page=1, page_size=5)","s":"List your previous Image Queries","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#list-your-previous-image-queries","p":161},{"i":179,"t":"Groundlight lets you start using models by making queries against your very first image, but there are a few situations where you might either have an existing dataset, or you'd like to handle the escalation response programatically in your own code but still include the label to get better responses in the future. With your ImageQuery from either submit_image_query() or get_image_query() you can add the label directly. Note that if the query is already in the escalation queue due to low ML confidence or audit thresholds, it may also receive labels from another source. However, user-provided labels are always treated as the most authoritative. import requests from PIL import Image from groundlight import Groundlight gl = Groundlight() d = gl.get_or_create_detector(name=\"doorway\", query=\"Is the doorway open?\") image_url= \"https://images.selfstorage.com/large-compress/2174925f24362c479b2.jpg\" image = Image.open(requests.get(image_url, stream=True).raw) image_query = gl.submit_image_query(detector=d, image=image) gl.add_label(image_query, 'YES') # or 'NO'","s":"Add a label to an Image Query","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#add-a-label-to-an-image-query","p":161},{"i":181,"t":"The Groundlight Python SDK requires Python 3.9 or higher and can be installed on all major platforms. Follow the installation guide for your specific operating system or device below.","s":"Installation Guide for Groundlight Python SDK","u":"/python-sdk/docs/installation","h":"","p":180},{"i":183,"t":"For desktop and server installations: Linux Installation Guide - For Ubuntu, Debian, Fedora and other Linux distributions macOS Installation Guide - For Intel and Apple Silicon Macs Windows Installation Guide - For Windows 10 and 11","s":"Operating System Installation Guides","u":"/python-sdk/docs/installation","h":"#operating-system-installation-guides","p":180},{"i":185,"t":"For IoT and edge computing devices: Raspberry Pi Installation Guide - For Raspberry Pi 4 and 5 devices NVIDIA Jetson Installation Guide - For Jetson Nano, Xavier and Orin devices","s":"Edge Device Installation Guides","u":"/python-sdk/docs/installation","h":"#edge-device-installation-guides","p":180},{"i":187,"t":"Explore different ways to utilize Groundlight: Streaming Processor with Docker ESP32 Camera Integration Linux with Monitoring and Notification Server Once you've completed the installation for your platform, you can begin developing visual applications using the Groundlight SDK.","s":"Alternative Groundlight Usage Options","u":"/python-sdk/docs/installation","h":"#alternative-groundlight-usage-options","p":180},{"i":190,"t":"Typically you'll use the get_or_create_detector(name: str, query: str) method to find an existing detector you've already created with the same name, or create a new one if it doesn't exists. But if you'd like to force creating a new detector you can also use the create_detector(name: str, query: str) method from groundlight import Groundlight gl = Groundlight() detector = gl.create_detector(name=\"your_detector_name\", query=\"is there a hummingbird near the feeder?\")","s":"Explicitly create a new detector","u":"/python-sdk/docs/guide/working-with-detectors","h":"#explicitly-create-a-new-detector","p":188},{"i":192,"t":"To work with a detector that you've previously created, you need to retrieve it using its unique identifier. This is typical in Groundlight applications where you want to continue to use a detector you've already created. from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector(id=\"your_detector_id\") Alternatively, you can retrieve a detector by its name: from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector_by_name(name=\"your_detector_name\")","s":"Retrieve an existing detector","u":"/python-sdk/docs/guide/working-with-detectors","h":"#retrieve-an-existing-detector","p":188},{"i":194,"t":"To manage and interact with your detectors, you might need to list them. Groundlight provides a straightforward way to retrieve a list of detectors you've created. By default, the list is paginated to show 10 results per page, but you can customize this to suit your needs. from groundlight import Groundlight gl = Groundlight() # Defaults to 10 results per page detectors = gl.list_detectors() # Pagination: 1st page of 5 results per page detectors = gl.list_detectors(page=1, page_size=5)","s":"List your detectors","u":"/python-sdk/docs/guide/working-with-detectors","h":"#list-your-detectors","p":188},{"i":196,"t":"So far, all of the detectors we've created have been binary classification detectors. But what if you want to count the number of objects in an image? You can create a counting detector to do just that. Counting detectors also return bounding boxes around the objects they count. note Counting Detectors are available on Pro, Business, and Enterprise plans. from groundlight import ExperimentalApi gl_experimental = ExperimentalApi() detector = gl_experimental.create_counting_detector(name=\"your_detector_name\", query=\"How many cars are in the parking lot?\", max_count=20)","s":"[BETA] Create a Counting Detector","u":"/python-sdk/docs/guide/working-with-detectors","h":"#beta-create-a-counting-detector","p":188},{"i":198,"t":"If you want to classify images into multiple categories, you can create a multi-class detector. from groundlight import ExperimentalApi gl_experimental = ExperimentalApi() class_names = [\"Golden Retriever\", \"Labrador Retriever\", \"German Shepherd\"] detector = gl_experimental.create_multiclass_detector( name, query=\"What kind of dog is this?\", class_names=class_names )","s":"[BETA] Create a Multi-Class Detector","u":"/python-sdk/docs/guide/working-with-detectors","h":"#beta-create-a-multi-class-detector","p":188},{"i":201,"t":"The Groundlight Python SDK is optimized to run on small edge devices. As such, you can use the Groundlight SDK without installing large libraries like numpy or OpenCV. But if you're already installing them, we'll use them. Our SDK detects if these libraries are installed and will make use of them if they're present. If not, we'll gracefully degrade, and tell you what's wrong if you try to use these features.","s":"Smaller is better!","u":"/python-sdk/docs/installation/optional-libraries","h":"#smaller-is-better","p":199},{"i":203,"t":"The PIL library offers a bunch of standard utilities for working with images in python. The Groundlight SDK can work without PIL. Because PIL is not very large, and is quite useful, we install it by default with the normal build of the Groundlight SDK. So when you pip3 install groundlight it comes with the pillow version of the PIL library already installed.","s":"PIL - optional but default installed","u":"/python-sdk/docs/installation/optional-libraries","h":"#pil---optional-but-default-installed","p":199},{"i":205,"t":"If you are extremely space constrained, you can install the Groundlight SDK from source without PIL and it will work properly, but with reduced functionality. Specifically, you will need to convert your images into JPEG format yourself. The SDK normally relies on PIL to do JPEG compression (which is a non-trivial algorithm), and the API requires images to be in JPEG format. However on space-constrained platforms, sometimes this conversion is done in hardware, and so we don't want to force you to install PIL if you don't need it.","s":"Working without PIL","u":"/python-sdk/docs/installation/optional-libraries","h":"#working-without-pil","p":199},{"i":207,"t":"These commonly-used libraries are not installed by default, because they are quite large, and their installation can often cause conflicts with other dependent libraries. If you want to use them, install them directly.","s":"Numpy, OpenCV - fully optional","u":"/python-sdk/docs/installation/optional-libraries","h":"#numpy-opencv---fully-optional","p":199},{"i":209,"t":"This guide will help you install the Groundlight SDK on Linux. The Groundlight SDK requires Python 3.9 or higher.","s":"Installing on Linux","u":"/python-sdk/docs/installation/linux","h":"","p":208},{"i":211,"t":"Ensure that you have the following installed on your system: Python 3.9 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/linux","h":"#prerequisites","p":208},{"i":213,"t":"Assuming you have Python 3.9 or higher installed on your system, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/linux","h":"#basic-installation","p":208},{"i":215,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip install groundlight If you're also using python2 on your system, you might need to use pip3 instead: pip3 install groundlight The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/linux","h":"#installing-groundlight-sdk","p":208},{"i":217,"t":"To check if the Groundlight SDK is installed and to display its version, you can use the following Python one-liner: python -c \"import groundlight; print(groundlight.__version__)\" or the groundlight command line tool that comes with the SDK: groundlight --help","s":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/linux","h":"#checking-groundlight-sdk-version","p":208},{"i":219,"t":"If you need to upgrade the Groundlight SDK to the latest version, use the following pip command: pip install --upgrade groundlight Or, if you're using pip3: pip3 install --upgrade groundlight After upgrading, you can use the Python one-liner mentioned in the \"Checking Groundlight SDK Version\" section to verify that the latest version is now installed.","s":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/linux","h":"#upgrading-groundlight-sdk","p":208},{"i":221,"t":"To check your installed Python version, open a terminal and run: python --version If you see a version number starting with \"3.9\" or higher (e.g., \"3.9.5\" or \"3.9.0\"), you're good to go. If not, you might need to upgrade Python on your system.","s":"Getting the right Python Version","u":"/python-sdk/docs/installation/linux","h":"#getting-the-right-python-version","p":208},{"i":223,"t":"Use your distribution's package manager to install the latest Python version: For Ubuntu or Debian-based systems: sudo apt update sudo apt install python3 (For Ubuntu 18.04 see note below.) For Fedora-based systems: sudo dnf install python3 For Arch Linux: sudo pacman -S python After upgrading, verify the Python version by running python --version or python3 --version, as described earlier.","s":"Upgrading Python on Linux","u":"/python-sdk/docs/installation/linux","h":"#upgrading-python-on-linux","p":208},{"i":225,"t":"Ubuntu 18.04 still uses python 3.6 by default, which is end-of-life. We generally recommend using python 3.10. If you know how to install py3.10, please go ahead. But the easiest version of python 3 to use with Ubuntu 18.04 is python 3.9, which can be installed as follows without adding any extra repositories: # Prepare Ubuntu to install things sudo apt-get update # Install the basics sudo apt-get install -y python3.9 python3.9-distutils curl # Configure `python3` to run python3.9 by default sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 10 # Download and install pip3.9 curl https://bootstrap.pypa.io/get-pip.py > /tmp/get-pip.py sudo python3.9 /tmp/get-pip.py # Configure `pip3` to run pip3.9 sudo update-alternatives --install /usr/bin/pip3 pip3 $(which pip3.9) 10 # Now we can install Groundlight! pip3 install groundlight","s":"Special note about Ubuntu 18.04","u":"/python-sdk/docs/installation/linux","h":"#special-note-about-ubuntu-1804","p":208},{"i":227,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens documentation and the Building Applications Guide.","s":"Ready to go!","u":"/python-sdk/docs/installation/linux","h":"#ready-to-go","p":208},{"i":229,"t":"This guide will help you install the Groundlight SDK on NVIDIA Jetson devices. The Groundlight SDK requires Python 3.9 or higher.","s":"Usage on NVIDIA Jetson","u":"/python-sdk/docs/installation/nvidia-jetson","h":"","p":228},{"i":231,"t":"Ensure that you have the following installed on your NVIDIA Jetson: Python 3.9 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#prerequisites","p":228},{"i":233,"t":"Assuming you have Python 3.9 or higher installed on your NVIDIA Jetson, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#basic-installation","p":228},{"i":235,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip3 install groundlight An ARM-compatible version will automatically get installed. The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#installing-groundlight-sdk","p":228},{"i":237,"t":"If you have docker installed on your NVIDIA Jetson, you can even just run docker run groundlight/stream as we publish an ARM version of our streaming application to Docker Hub.","s":"Using RTSP Streams","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#using-rtsp-streams","p":228},{"i":239,"t":"For a complete end-to-end example of running on an NVIDIA Jetson, see this GitHub repo.","s":"Sample application","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#sample-application","p":228},{"i":241,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens documentation and the Building Applications Guide.","s":"Ready to go!","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#ready-to-go","p":228},{"i":243,"t":"This guide will help you install the Groundlight SDK on Raspberry Pi. The Groundlight SDK requires Python 3.9 or higher.","s":"Usage on Raspberry Pi","u":"/python-sdk/docs/installation/raspberry-pi","h":"","p":242},{"i":245,"t":"Ensure that you have the following installed on your Raspberry Pi: Python 3.9 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/raspberry-pi","h":"#prerequisites","p":242},{"i":247,"t":"Assuming you have Python 3.9 or higher installed on your Raspberry Pi, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/raspberry-pi","h":"#basic-installation","p":242},{"i":249,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip3 install groundlight An ARM-compatible version will automatically get installed. The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/raspberry-pi","h":"#installing-groundlight-sdk","p":242},{"i":251,"t":"If you have docker installed on your Raspberry Pi, you can even just run docker run groundlight/stream as we publish an ARM version of our streaming application to Docker Hub.","s":"Using RTSP Streams","u":"/python-sdk/docs/installation/raspberry-pi","h":"#using-rtsp-streams","p":242},{"i":253,"t":"For a complete end-to-end example of running on a Raspberry Pi, see this GitHub repo.","s":"Sample application","u":"/python-sdk/docs/installation/raspberry-pi","h":"#sample-application","p":242},{"i":255,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens documentation and the Building Applications Guide.","s":"Ready to go!","u":"/python-sdk/docs/installation/raspberry-pi","h":"#ready-to-go","p":242},{"i":257,"t":"Groundlight supplies a tool for no-code deployment of a detector to an ESP32 Camera board. You can find it at https://iot.groundlight.ai/espcam.","s":"No-Code IoT Deployment","u":"/python-sdk/docs/other-ways-to-use/esp32cam","h":"","p":256},{"i":259,"t":"This tool is designed to make it as easy as possible to deploy your Groundlight detector on an ESP32 Camera Board. You can deploy your detector in just a few clicks. Go to https://iot.groundlight.ai/espcam Plug your ESP32 Camera Board into your computer with a USB cable. Click through the steps to upload your detector to your ESP32 Camera Board. When prompted, allow your browser access to the serial port, so that it can program the device. If you don't see a prompt like this, try using a current version of Chrome or another browser that supports Web Serial.","s":"Easy Deployment","u":"/python-sdk/docs/other-ways-to-use/esp32cam","h":"#easy-deployment","p":256},{"i":261,"t":"The tool supports the following notification options for your deployed detector: Email SMS (With Twilio) Slack","s":"Notification Options","u":"/python-sdk/docs/other-ways-to-use/esp32cam","h":"#notification-options","p":256},{"i":263,"t":"Tested with the following boards. Many other ESP32 boards should work as well, but may require building the firmware from source and changing the IO pin definitions. M5Stack ESP32 PSRAM Timer Camera [purchase here] M5Stack ESP32 PSRAM Timer Camera X [purchase here] ESP32-CAM [purchase here] SeeedStudio ESP32S3 Sense [purchase here]","s":"Multiple Supported Boards","u":"/python-sdk/docs/other-ways-to-use/esp32cam","h":"#multiple-supported-boards","p":256},{"i":265,"t":"The source code is written as an Arduino-based PlatformIO project for ESP32, and is available on GitHub at https://github.com/groundlight/esp32cam If you need assistance or have questions about integrating Groundlight with Arduino, please consider opening an issue on the GitHub repository or reaching out to our support team.","s":"Source Code","u":"/python-sdk/docs/other-ways-to-use/esp32cam","h":"#source-code","p":256},{"i":267,"t":"Groundlight's Monitoring Notification Server (MNS) is the easiest way to deploy your Groundlight detectors on a linux computer. All configuration is done through a web user interface, and no code development is required.","s":"Low-Code Monitoring Notification Server","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"","p":266},{"i":269,"t":"Internet-connected Linux computer Video source (USB camera or RTSP stream) Groundlight API Key (available from groundlight.ai)","s":"Prerequisites","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#prerequisites","p":266},{"i":271,"t":"The Monitoring Notification Server is a versatile tool that can be deployed on any server to facilitate the creation and management of Groundlight Detectors. It allows you to configure detectors to retrieve images from custom sources and send notifications. Featuring an intuitive web interface, the Monitoring Notification Server enables easy configuration of detectors. The server operates on your device, capturing images from your camera and sending notifications as needed.","s":"Using the Application","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#using-the-application","p":266},{"i":275,"t":"To begin, clone the GitHub repository: https://github.com/groundlight/monitoring-notification-server git clone https://github.com/groundlight/monitoring-notification-server.git cd monitoring-notification-server Deployment options include Docker Compose, AWS Greengrass, and Kubernetes.","s":"Running the server","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#running-the-server","p":266},{"i":277,"t":"Locate the docker-compose.yml file. Run docker-compose up in the directory containing the docker-compose.yml file (the root of the repository). tip If you're using Docker Compose v2, replace docker-compose with docker compose.","s":"Running with Docker Compose","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#running-with-docker-compose","p":266},{"i":279,"t":"32-bit arm requires different binary images. Use the slightly different docker-compose-armv7.yml. Run docker-compose -f docker-compose-armv7.yml up.","s":"Running from Docker Compose on 32-bit ARM (armv7)","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#running-from-docker-compose-on-32-bit-arm-armv7","p":266},{"i":281,"t":"Before creating the component, run sudo usermod -aG docker ggc_user on your Greengrass device to allow the Greengrass service to access the host's Docker daemon. Create a new Greengrass Component Select \"Enter recipe as YAML\" Paste the YAML from greengrass-recipe.yaml into the text box Click \"Create component\" Click \"Deploy\" to deploy the component to your Greengrass group","s":"Running with AWS Greengrass","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#running-with-aws-greengrass","p":266},{"i":283,"t":"For a minimal Kubernetes setup, we recommend using k3s. Set up a Kubernetes cluster and install kubectl on your machine. Apply the Kubernetes configuration by running: kubectl apply -f kubernetes.yaml Ensure you are in the directory containing the kubernetes.yaml file.","s":"Running with Kubernetes","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#running-with-kubernetes","p":266},{"i":285,"t":"Install Node.js and Python 3.9+. git clone https://github.com/groundlight/monitoring-notification-server cd monitoring-notification-server npm install npm run dev Open http://localhost:3000 with your browser to see the result. The FastApi server will be running on http://0.0.0.0:8000 – feel free to change the port in package.json (you'll also need to update it in next.config.js).","s":"Building from Source","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#building-from-source","p":266},{"i":287,"t":"This guide will help you install the Groundlight SDK on Windows. The Groundlight SDK requires Python 3.9 or higher.","s":"Installing on Windows","u":"/python-sdk/docs/installation/windows","h":"","p":286},{"i":289,"t":"Ensure that you have the following installed on your system: Python 3.9 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/windows","h":"#prerequisites","p":286},{"i":291,"t":"Assuming you have Python 3.9 or higher installed on your system, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/windows","h":"#basic-installation","p":286},{"i":293,"t":"To install the Groundlight SDK using pip, run the following command in your Command Prompt: pip install groundlight If you're also using python2 on your system, you might need to use pip3 instead: pip3 install groundlight The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/windows","h":"#installing-groundlight-sdk","p":286},{"i":295,"t":"To check if the Groundlight SDK is installed and to display its version, you can use the following Python one-liner: python -c \"import groundlight; print(groundlight.__version__)\"","s":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/windows","h":"#checking-groundlight-sdk-version","p":286},{"i":297,"t":"If you need to upgrade the Groundlight SDK to the latest version, use the following pip command: pip install --upgrade groundlight Or, if you're using pip3: pip3 install --upgrade groundlight After upgrading, you can use the Python one-liner mentioned in the \"Checking Groundlight SDK Version\" section to verify that the latest version is now installed.","s":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/windows","h":"#upgrading-groundlight-sdk","p":286},{"i":299,"t":"To check your installed Python version, open a Command Prompt and run: python --version If you see a version number starting with \"3.9\" or higher (e.g., \"3.9.5\" or \"3.9.0\"), you're good to go. If not, you might need to upgrade Python on your system.","s":"Getting the right Python Version","u":"/python-sdk/docs/installation/windows","h":"#getting-the-right-python-version","p":286},{"i":301,"t":"Download the latest Python installer from the official Python website and run it. After upgrading, verify the Python version by running python --version or python3 --version, as described earlier.","s":"Upgrading Python on Windows","u":"/python-sdk/docs/installation/windows","h":"#upgrading-python-on-windows","p":286},{"i":303,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens documentation and the Building Applications Guide.","s":"Ready to go!","u":"/python-sdk/docs/installation/windows","h":"#ready-to-go","p":286},{"i":305,"t":"The Groundlight Stream Processor is a simple containerized application for processing video streams and submitting frames to Groundlight. It supports a variety of input sources, including: Video devices (webcams) Video files (MP4, etc) RTSP streams HLS streams YouTube videos Image directories Image URLs The Stream Processor can be combined with Groundlight Alerts to create a simple video analytics system. For example, you could use the Stream Processor to process a video stream from a security camera and send an alert when a person is detected.","s":"Low-Code Stream Processor","u":"/python-sdk/docs/other-ways-to-use/stream-processor","h":"","p":304},{"i":307,"t":"You will need: A Groundlight account An API token from the Groundlight dashboard Docker installed on your system Set your Groundlight API token as an environment variable: export GROUNDLIGHT_API_TOKEN=\"\"","s":"Prerequisites:","u":"/python-sdk/docs/other-ways-to-use/stream-processor","h":"#prerequisites","p":304},{"i":309,"t":"Once signed in to the Groundlight dashboard, create a new detector by clicking the \"Create New\" button. Give your detector a name, a question, and a confidence threshold, then click \"Save.\" You will be redirected to the detector's page, where you can find the detector ID under the Setup tab. Note this ID for later use.","s":"Create a Detector via the Groundlight Dashboard","u":"/python-sdk/docs/other-ways-to-use/stream-processor","h":"#create-a-detector-via-the-groundlight-dashboard","p":304},{"i":311,"t":"Processing a stream is as easy as running a Docker container. For example, the following command will process a video file: docker run -v /path/to/video:/videos groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d “” \\ -s /videos/video.mp4 \\ -f 1 This will begin submitting frames from the video file to Groundlight. The -f flag specifies the frame rate in terms of frames per second. The container can be stopped by pressing Ctrl+C. A variety of input sources are supported, including RTSP streams. To process an RTSP stream, run the following command: docker run groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d “” \\ -s \"\" \\ -f 0.5 \\ -v This will begin submitting frames from the RTSP stream to Groundlight. The -v flag enables verbose logging. If you only wish to submit frames to Groundlight when there is motion detected in the video stream, you can add the -m flag: docker run groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d “” \\ -s \"\" \\ -f 2 \\ -m You may want the container to run in the background. To do this, add the --detach flag to the docker run command: docker run --detach groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d “” \\ -s \"\" \\ -f 2 \\ -m tip The Groundlight Stream Processor is lightweight and can be run on a Raspberry Pi or other low-power devices.","s":"Processing a Stream","u":"/python-sdk/docs/other-ways-to-use/stream-processor","h":"#processing-a-stream","p":304},{"i":313,"t":"The Stream Processor submits frames to Groundlight, but it does not do anything with the results. In order to build a useful alerting system, you can combine the Stream Processor with Groundlight Alerts.","s":"Combining with Groundlight Alerts","u":"/python-sdk/docs/other-ways-to-use/stream-processor","h":"#combining-with-groundlight-alerts","p":304},{"i":315,"t":"This guide will help you install the Groundlight SDK on macOS. The Groundlight SDK requires Python 3.9 or higher.","s":"Installing on macOS","u":"/python-sdk/docs/installation/macos","h":"","p":314},{"i":317,"t":"Ensure that you have the following installed on your system: Python 3.9 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/macos","h":"#prerequisites","p":314},{"i":319,"t":"Assuming you have Python 3.9 or higher installed on your system, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/macos","h":"#basic-installation","p":314},{"i":321,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip install groundlight If you're also using python2 on your system, you might need to use pip3 instead: pip3 install groundlight The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/macos","h":"#installing-groundlight-sdk","p":314},{"i":323,"t":"To check if the Groundlight SDK is installed and to display its version, you can use the following Python one-liner: python -c \"import groundlight; print(groundlight.__version__)\" or the groundlight command line tool that comes with the SDK: groundlight --help","s":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/macos","h":"#checking-groundlight-sdk-version","p":314},{"i":325,"t":"If you need to upgrade the Groundlight SDK to the latest version, use the following pip command: pip install --upgrade groundlight Or, if you're using pip3: pip3 install --upgrade groundlight After upgrading, you can use the Python one-liner mentioned in the \"Checking Groundlight SDK Version\" section to verify that the latest version is now installed.","s":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/macos","h":"#upgrading-groundlight-sdk","p":314},{"i":327,"t":"To check your installed Python version, open a terminal and run: python --version If you see a version number starting with \"3.9\" or higher (e.g., \"3.9.5\" or \"3.9.0\"), you're good to go. If not, you might need to upgrade Python on your system.","s":"Getting the right Python Version","u":"/python-sdk/docs/installation/macos","h":"#getting-the-right-python-version","p":314},{"i":329,"t":"Download the latest Python installer from the official Python website and run it, or use Homebrew to install Python: brew install python After upgrading, verify the Python version by running python --version or python3 --version, as described earlier.","s":"Upgrading Python on MacOS","u":"/python-sdk/docs/installation/macos","h":"#upgrading-python-on-macos","p":314},{"i":331,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens documentation and the Building Applications Guide.","s":"Ready to go!","u":"/python-sdk/docs/installation/macos","h":"#ready-to-go","p":314},{"i":333,"t":"Explore these example applications to see Groundlight's computer vision capabilities in action:","s":"Sample Applications","u":"/python-sdk/docs/sample-applications","h":"","p":332},{"i":335,"t":"Groundlight's natural language-based computer vision technology transforms industrial processes in several key areas: Machine Tending: Automate loading/unloading of CNC machines and manufacturing equipment Process Automation: Optimize workflows and reduce manual intervention through intelligent vision systems Quality Control: Identify defects and maintain strict quality standards Cobot Integration: Enhance capabilities of collaborative robots and CNC machines Learn more about industrial applications →","s":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/sample-applications","h":"#industrial-and-manufacturing-applications","p":332},{"i":337,"t":"Monitor customer service counter utilization with this practical retail application. Features include: Real-time tracking of service counter usage Hourly utilization summaries Automated daily reports via email Data-driven insights for staff scheduling and store layout optimization View the retail analytics implementation →","s":"Retail Analytics Solution","u":"/python-sdk/docs/sample-applications","h":"#retail-analytics-solution","p":332},{"i":339,"t":"Create a playful home automation system that detects when your dog is on the couch and plays a pre-recorded message. This example demonstrates: Real-time image capture and analysis Audio playback integration Continuous monitoring capabilities Build your own dog detector →","s":"Fun Project: Dog-on-Couch Detector","u":"/python-sdk/docs/sample-applications","h":"#fun-project-dog-on-couch-detector","p":332},{"i":341,"t":"Monitor live streams with automated alerts using Groundlight's vision API. Features include: Frame capture from live streams Alert system integration Simple command-line interface Create a monitor for birds at your feeder →","s":"Live Stream Monitor: Bird Feeder Edition","u":"/python-sdk/docs/sample-applications","h":"#live-stream-monitor-bird-feeder-edition","p":332},{"i":343,"t":"Modern natural language-based computer vision is transforming industrial and manufacturing applications by enabling more intuitive interaction with automation systems. Groundlight offers cutting-edge computer vision technology that can be seamlessly integrated into various industrial processes, enhancing efficiency, productivity, and quality control.","s":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/sample-applications/industrial","h":"","p":342},{"i":345,"t":"Groundlight's computer vision technology can assist in automating machine-tending tasks, such as loading and unloading materials in CNC machines, milling centers, or injection molding equipment. By enabling robots to recognize parts and tools using natural language, complex machine-tending tasks become more accessible and efficient.","s":"Machine Tending","u":"/python-sdk/docs/sample-applications/industrial","h":"#machine-tending","p":342},{"i":347,"t":"Integrating Groundlight's computer vision into your process automation systems can help identify bottlenecks, optimize workflows, and reduce manual intervention. Our technology can work hand-in-hand with robotic systems to perform tasks like sorting, assembly, all while interpreting natural language commands to streamline operations.","s":"Process Automation","u":"/python-sdk/docs/sample-applications/industrial","h":"#process-automation","p":342},{"i":349,"t":"Groundlight's computer vision technology can play a vital role in ensuring the highest quality standards in your manufacturing processes. By identifying defects or irregularities in products, our computer vision system can help maintain strict quality control, reducing the need for manual inspections and increasing overall product quality.","s":"Quality Control","u":"/python-sdk/docs/sample-applications/industrial","h":"#quality-control","p":342},{"i":351,"t":"Groundlight's computer vision technology can be easily integrated with popular cobot robotic arms, such as Universal Robots, to enhance their capabilities and improve collaboration between humans and robots. Additionally, our technology can be integrated into existing CNC machines or other devices using the Modbus interface, allowing for seamless communication and control within your manufacturing environment.","s":"Integration with Cobots and CNC Machines","u":"/python-sdk/docs/sample-applications/industrial","h":"#integration-with-cobots-and-cnc-machines","p":342},{"i":353,"t":"To learn more about how Groundlight's natural language computer vision technology can revolutionize your industrial and manufacturing processes, please reach out to us at info@groundlight.ai.","s":"Contact Sales","u":"/python-sdk/docs/sample-applications/industrial","h":"","p":342},{"i":355,"t":"Here is a whimsical example of how you could use Groundlight in your home to keep your dog off the couch. This document will guide you through creating a complete application. If the dog is detected on the couch, the application will play a pre-recorded sound over the computer's speakers, instructing the dog to get off the couch. Be sure to record your own voice so that your dog pays attention to you.","s":"A Fun Example: Dog-on-Couch Detector","u":"/python-sdk/docs/sample-applications/dog-on-couch","h":"","p":354},{"i":357,"t":"Groundlight SDK with Python 3.9 or higher A supported USB or network-connected camera A pre-recorded sound file (e.g., get_off_couch.mp3) A couch and a dog are recommended for proper end-to-end testing.","s":"Requirements","u":"/python-sdk/docs/sample-applications/dog-on-couch","h":"#requirements","p":354},{"i":359,"t":"Ensure you have Python 3.9 or higher installed, and then install the Groundlight SDK, OpenCV library, and other required libraries: pip install groundlight opencv-python pillow pyaudio","s":"Installation","u":"/python-sdk/docs/sample-applications/dog-on-couch","h":"#installation","p":354},{"i":361,"t":"First, log in to the Groundlight dashboard and create an API Token. Next, we'll write the Python script for the application. Import the required libraries: import cv2 import pyaudio import time import wave from PIL import Image from groundlight import Groundlight, ApiException Define a function to capture an image from the camera using OpenCV: def capture_image(): cap = cv2.VideoCapture(0) ret, frame = cap.read() cap.release() if ret: # Convert to PIL image return Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)) else: return None Define a function to play the pre-recorded sound: def play_sound(file_path): CHUNK = 1024 wf = wave.open(file_path, 'rb') p = pyaudio.PyAudio() stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(), rate=wf.getframerate(), output=True) data = wf.readframes(CHUNK) while data: stream.write(data) data = wf.readframes(CHUNK) stream.stop_stream() stream.close() p.terminate() Write the main application loop: gl = Groundlight() detector = gl.get_or_create_detector(\"Dog on Couch Detector\") while True: image = capture_image() if image: try: iq = gl.submit_image_query(image=image, detector=detector, wait=60) answer = iq.result.label if answer == \"YES\": print(\"Dog detected on the couch!\") play_sound(\"get_off_couch.mp3\") except ApiException as e: print(f\"Error submitting image query: {e}\") else: print(\"Failed to capture image\") # Sleep for a minute before checking again time.sleep(60) This application captures an image using the capture_image function, then submits it to the Groundlight API for analysis. If the dog is detected on the couch, it plays the pre-recorded sound using the play_sound function. Save the script as dog_on_couch_detector.py and run it: python dog_on_couch_detector.py","s":"Creating the Application","u":"/python-sdk/docs/sample-applications/dog-on-couch","h":"#creating-the-application","p":354},{"i":364,"t":"This example demonstrates the application of Groundlight to a retail analytics solution, which monitors the usage of a service counter by customers throughout the day. The application creates a detector to identify when the service desk is being utilized by a customer. It checks the detector every minute, and once an hour, it prints out a summary of the percentage of time that the service counter is in use. At the end of the day, it emails the daily log. This retail analytics application can be beneficial in various ways: Staff allocation and scheduling: By analyzing the usage patterns of the service counter, store managers can optimize staff allocation and scheduling, ensuring that enough employees are available during peak hours and reducing wait times for customers. Identifying trends: The application can help identify trends in customer behavior, such as busier times of the day or specific days of the week with higher traffic. This information can be used to plan targeted marketing campaigns or promotions to increase sales and customer engagement. Improving store layout: Understanding when and how often customers use the service counter can provide insights into the effectiveness of the store's layout. Retailers can use this information to make data-driven decisions about rearranging the store layout to encourage customers to visit the service counter or explore other areas of the store. Customer satisfaction: By monitoring the usage of the service counter and proactively addressing long wait times or crowded areas, retailers can improve customer satisfaction and loyalty. A positive customer experience can lead to increased sales and return visits. To implement this retail analytics solution, a store would need to install a supported camera near the service counter, ensuring a clear view of the area. The camera would then be connected to a computer running the Groundlight-based application. Store managers would receive hourly summaries of the service counter usage and a daily log via email, enabling them to make informed decisions to improve store operations and customer experience.","s":"Tracking utilization of a customer service counter","u":"/python-sdk/docs/sample-applications/retail-analytics","h":"#tracking-utilization-of-a-customer-service-counter","p":362},{"i":366,"t":"Groundlight SDK with Python 3.9 or higher A supported USB or network-connected camera An email account with SMTP access to send the daily log","s":"Requirements","u":"/python-sdk/docs/sample-applications/retail-analytics","h":"#requirements","p":362},{"i":368,"t":"Ensure you have Python 3.9 or higher installed, and then install the Groundlight SDK, OpenCV library, and other required libraries: pip install groundlight opencv-python pillow","s":"Installation","u":"/python-sdk/docs/sample-applications/retail-analytics","h":"#installation","p":362},{"i":370,"t":"First, log in to the Groundlight dashboard and create an API Token. Next, we'll write the Python script for the application. Import the required libraries: import smtplib import time from datetime import datetime, timedelta from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText import cv2 from PIL import Image from groundlight import Groundlight Define a function to capture an image from the camera using OpenCV: def capture_image(): cap = cv2.VideoCapture(0) ret, frame = cap.read() cap.release() if ret: # Convert to PIL image return Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)) else: return None Define a function to send the daily log via email. You will need to customize this for your particular network environment. def send_email(sender, receiver, subject, body): msg = MIMEMultipart() msg['From'] = sender msg['To'] = receiver msg['Subject'] = subject msg.attach(MIMEText(body, 'plain')) server = smtplib.SMTP('smtp.example.com', 587) server.starttls() server.login(sender, \"your-password\") text = msg.as_string() server.sendmail(sender, receiver, text) server.quit() Define when your business's operating hours are: START_OF_BUSINESS = 9 # e.g. 9am END_OF_BUSINESS = 17 # e.g. 5pm def is_within_business_hours(): current_hour = datetime.now().hour return START_OF_BUSINESS <= current_hour < END_OF_BUSINESS Write the main application loop: gl = Groundlight() detector = gl.get_or_create_detector( name=\"counter-in-use\", query=\"Is there a customer at the service counter?\", # We can get away with relatively low confidence since we're aggregating across images confidence_threshold=0.8) DELAY = 60 log = [] daily_log = [] next_hourly_start = datetime.now().replace(minute=0, second=0, microsecond=0) + timedelta(hours=1) while True: if not is_within_business_hours(): time.sleep(DELAY) continue image = capture_image() if not image: print(\"Failed to capture image\") time.sleep(DELAY) continue try: iq = gl.submit_image_query(image=image, detector=detector, wait=60) except Exception as e: print(f\"Error submitting image query: {e}\") time.sleep(DELAY) continue answer = iq.result.label log.append(answer) if datetime.now() >= next_hourly_start: next_hourly_start += timedelta(hours=1) percent_in_use = (log.count(\"YES\") / len(log)) * 100 current_time = datetime.now().replace(hour=START_OF_BUSINESS, minute=0, second=0) formatted_time = current_time.strftime(\"%I%p\") # like 3pm msg = f\"Hourly summary for {formatted_time}: {percent_in_use:.0f}% counter in use\" print(msg) daily_log.append(msg) log = [] current_hour = datetime.now().hour if current_hour == END_OF_BUSINESS and not daily_log == []: daily_summary = \"Daily summary:\\n\" for msg in daily_log: daily_summary += f\"{msg}\\n\" print(daily_summary) send_email(sender=\"counterbot@example.com\", receiver=\"manager@example.com\", subject=\"Daily Service Counter Usage Log\", body=daily_summary) daily_log = [] time.sleep(DELAY) This application captures an image using the capture_image function, then submits it to the Groundlight API for analysis. If a customer is detected at the counter, it logs the event. Every hour, it prints a summary of the counter's usage percentage, and at the end of the day, it emails the daily log using the send_email function. Save the entire script as service_counter_monitor.py and run it: python service_counter_monitor.py","s":"Creating the Application","u":"/python-sdk/docs/sample-applications/retail-analytics","h":"#creating-the-application","p":362},{"i":372,"t":"A quick example to help you get started with monitoring live streams using the groundlight/stream container. In this example, we will set up a monitor on a live stream of a bird feeder and configure Groundlight to alert us when a bird is present at the feeder.","s":"A Quick Example: Live Stream Monitor","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","h":"","p":371},{"i":374,"t":"Docker installed on your system A YouTube live stream URL or video ID you'd like to monitor. For example, this live stream of a Bird Feeder in Panama hosted by the Cornell Lab of Ornithology: https://www.youtube.com/watch?v=WtoxxHADnGk A Groundlight account","s":"Requirements","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","h":"#requirements","p":371},{"i":376,"t":"Pull the Groundlight Stream container: docker pull groundlight/stream","s":"Installation","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","h":"#installation","p":371},{"i":378,"t":"The Groundlight Stream container makes it easy to monitor video streams. Here's how to use it: First, get (or create) your API token from the Groundlight dashboard. Set your Groundlight API token as an environment variable: export GROUNDLIGHT_API_TOKEN=\"\" Create a Binary-mode detector in the dashboard. Set the question to \"Is there a bird at the feeder?\" and the confidence threshold to 0.75. Note the detector ID for later use. tip We use a relatively low confidence threshold in this example because birdwatching is a fun and casual activity. For more critical applications, you may want to set a higher confidence threshold. Now, run the Groundlight Stream container to process the live stream. For example, to monitor the Cornell Lab of Ornithology's bird feeder live stream, you could use the following command: docker run groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d \"\" \\ -s \"https://www.youtube.com/watch?v=WtoxxHADnGk\" \\ -f 0.25 \\ # 1 frame every 4 seconds -m \\ # enable motion detection to only process frames when movement occurs -v # enable verbose logging You should see Image Queries being submitted to Groundlight as the container processes the live stream. Once you have confirmed that the container is working as expected, you can remove the -v flag to reduce the amount of logging, and you can also run the container in the background by adding the --detach flag. docker run --detach groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d \"\" \\ -s \"https://www.youtube.com/watch?v=WtoxxHADnGk\" \\ -f 0.25 \\ # 1 frame every 4 seconds -m # enable motion detection to only process frames when movement occurs Finally, let's set up an Alert to notify you when a bird visits the feeder. In the Groundlight dashboard: Navigate to the Alerts tab and click \"Create New Alert\" Enter a descriptive name like for the alert, such as \"Bird at feeder\" Select your bird detector by name Set the alert condition to Gives answer 'Yes' For 1 Consecutive answer(s) Choose \"Text\" as the Alert Type and enter your phone number Enable \"Include image in message\" to receive a photo of the bird with each alert (optional) Enable a 5-minute snooze period to prevent alert fatigue (optional) Click \"Create\" to activate your alert Now, sit back and relax! The container will begin submitting frames from the live stream to Groundlight. You will receive alerts when a bird is detected at the feeder.","s":"Creating the Monitor","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","h":"#creating-the-monitor","p":371},{"i":380,"t":"You can also use groundlight/stream to process local video files, RTSP streams, and more. Here are some examples: Process local video files by mounting them: docker run -v /path/to/video:/videos groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d \\ -s /videos/video.mp4 Connect to RTSP cameras: docker run groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d \\ -s \"rtsp://username:password@camera_ip:554/stream\" See the complete documentation at https://github.com/groundlight/stream","s":"Additional Options","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","h":"#additional-options","p":371}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/3",[0,0.788,1,4.708,2,2.138,3,5.744,4,2.735,5,3.035,6,3.515,7,2.871,8,3.989,9,3.818,10,6.052,11,2.68,12,3.515,13,3.24,14,2,15,3.515,16,3.24,17,2.871,18,2.269,19,3.035,20,2.735,21,2.871,22,2.516,23,2.516,24,2.618,25,3.515,26,3.515,27,1.618,28,2.871,29,3.515,30,3.515,31,3.035,32,1.11,33,3.515,34,2.743,35,2.953,36,0.954,37,3.035,38,3.24,39,3.818,40,3.515,41,1.618,42,2.871,43,3.24,44,5.127,45,2.618,46,3.515,47,2.425,48,2.201,49,3.24,50,3.24,51,3.035,52,2.618,53,2.871,54,2.138,55,2.138,56,4.726,57,1.721,58,1.499,59,2.516,60,3.035,61,2.871,62,3.035,63,2.343,64,3.035,65,2.735,66,2.618,67,3.515,68,2.871,69,3.035,70,3.515]],["t/5",[0,0.746,1,4.022,2,2.162,3,5.775,4,2.766,5,3.07,6,3.555,7,2.904,8,4.022,9,3.85,10,6.092,11,2.702,12,3.555,13,3.277,14,2.017,15,3.555,16,3.277,17,2.904,18,2.295,19,3.07,20,2.766,21,2.904,22,2.544,23,2.544,24,2.648,25,3.555,26,3.555,27,1.637,28,2.904,29,3.555,30,3.555,31,3.07,32,1.123,33,3.555,34,2.766,35,2.978,36,0.965,37,3.07,38,3.277,39,3.85,40,3.555,41,1.637,42,2.904,43,3.277,44,5.17,45,2.648,46,3.555,47,2.453,48,2.226,49,3.277,50,3.277,51,3.07,52,2.648,53,2.904,54,2.162,55,2.162,56,4.766,57,1.74,58,1.517,59,2.544,60,3.07,61,2.904,62,3.07,63,2.37,64,3.07,65,2.766,66,2.648,67,3.555,68,2.904,69,3.07,70,3.555]],["t/7",[0,0.693,3,3.18,4,2.865,7,3.008,8,5.289,9,4.628,11,1.925,14,1.437,22,3.795,23,3.795,32,1.163,41,2.441,65,2.865,71,3.682,72,3.18,73,2.635,74,4.579,75,5.365,76,3.682,77,3.682,78,2.24,79,2.018,80,2.743,81,2.865,82,3.682,83,3.395,84,4.579,85,2.865,86,4.119,87,2.743,88,2.121,89,3.008,90,5.932,91,4.119,92,4.119,93,3.949,94,5.303,95,5.076,96,2.837,97,2.455,98,4.119,99,6.214,100,2.978,101,3.682,102,4.119,103,4.119,104,2.865,105,3.682,106,2.743,107,3.008,108,4.119,109,4.119,110,3.682,111,4.119,112,3.682,113,3.682,114,4.119,115,3.682,116,3.682,117,2.377]],["t/9",[0,0.696,1,3.215,9,3.078,14,1.613,22,4.95,23,4.738,27,2.649,31,3.568,39,3.078,41,1.217,49,3.81,53,3.376,54,3.095,55,3.095,57,2.023,60,3.568,61,3.376,63,1.762,64,2.282,65,4.477,75,2.282,80,1.969,81,2.056,84,3.568,85,2.056,88,1.523,95,4.7,96,1.414,118,2.437,119,1.892,120,2.957,121,2.282,122,2.643,123,2.437,124,0.933,125,1.823,126,1.969,127,2.056,128,2.264,129,4.157,130,2.957,131,3.078,132,4.133,133,2.957,134,2.958,135,2.643,136,2.957,137,2.643,138,2.437,139,1.969,140,1.706,141,1.523,142,1.706,143,2.282,144,2.056,145,1.564,146,2.957,147,2.957,148,4.133,149,1.655,150,2.957,151,2.957,152,2.159,153,2.282,154,1.969,155,2.643,156,4.133,157,2.437,158,2.437,159,2.957,160,2.957,161,2.643,162,4.623,163,2.643,164,2.282,165,1.762,166,3.81,167,2.957,168,1.217,169,1.762,170,3.376,171,4.133,172,2.643,173,2.957,174,1.892,175,1.762,176,1.655,177,2.957,178,2.159,179,2.282,180,2.957,181,2.437,182,2.159,183,1.564,184,2.957,185,2.957,186,2.957,187,1.484]],["t/11",[0,0.489,8,1.307,9,4.465,19,1.451,21,1.373,22,1.203,23,1.203,27,1.713,32,0.902,36,0.456,39,2.126,41,2.46,48,1.052,54,1.022,55,1.022,57,1.397,58,1.218,60,5.177,61,3.039,63,1.903,64,1.451,65,4.432,76,1.68,80,2.771,81,2.221,84,3.787,85,1.307,95,4.014,96,0.899,122,1.68,124,2.011,131,1.251,132,1.68,137,1.68,138,1.549,139,1.251,140,1.842,143,3.213,144,1.307,148,1.68,149,1.052,157,1.549,161,1.68,164,2.464,165,3.275,166,4.043,169,2.48,170,4.014,187,2.759,188,1.549,189,1.159,190,2.854,191,2.631,192,1.373,193,1.68,194,1.88,195,1.88,196,2.631,197,1.68,198,1.68,199,1.549,200,1.251,201,1.88,202,1.022,203,2.771,204,1.88,205,1.88,206,1.451,207,1.549,208,1.159,209,1.88,210,1.88,211,1.251,212,1.88,213,1.88,214,5.497,215,1.549,216,1.459,217,2.221,218,1.307,219,1.787,220,1.052,221,1.307,222,0.944,223,1.451,224,1.12,225,1.748,226,1.451,227,3.207,228,1.549,229,1.68,230,1.88,231,1.88,232,1.88,233,1.68,234,1.68,235,0.759,236,1.307,237,1.68,238,0.878,239,1.341,240,1.969,241,3.193,242,1.68,243,2.221,244,3.139,245,1.88,246,2.331,247,1.88,248,1.451,249,1.451,250,1.88,251,1.373,252,1.373,253,2.631,254,1.549,255,1.373,256,2.895,257,1.451,258,1.88,259,2.464,260,1.88,261,1.341,262,1.88,263,1.203,264,1.549,265,1.68,266,1.88,267,1.373,268,4.162,269,2.854,270,1.373,271,1.451,272,0.859,273,0.944,274,1.307,275,1.68,276,2.464,277,1.307,278,1.68,279,1.88,280,1.549,281,1.68,282,3.721,283,2.854,284,1.68,285,1.88,286,1.68,287,1.549,288,1.307,289,1.88,290,1.549,291,1.451,292,1.68,293,1.88,294,1.159,295,1.88,296,1.159,297,1.373,298,1.88,299,1.68,300,1.373,301,1.451,302,2.854,303,1.251,304,1.68,305,1.68]],["t/13",[0,0.166,2,0.904,4,1.156,7,3.302,8,3.887,9,3.721,14,1.324,21,1.214,22,2.893,23,2.429,27,1.183,34,0.795,35,0.856,37,1.283,39,1.914,41,2.467,42,4.628,59,1.064,61,1.214,65,4.95,74,1.283,75,1.283,77,1.486,84,2.93,89,1.214,95,2.099,96,1.375,97,0.991,99,4.042,100,1.443,124,0.525,129,1.214,131,1.914,138,1.37,140,1.658,143,2.219,153,1.283,154,1.107,155,1.486,156,1.486,163,2.57,164,4.892,165,4.467,169,3.043,170,2.772,181,1.37,183,1.52,207,1.37,220,0.931,224,0.991,227,0.795,228,1.37,237,1.486,254,2.369,261,1.899,269,1.486,271,2.219,272,0.76,276,3.942,278,1.486,280,1.37,281,1.486,294,1.773,302,4.042,303,2.528,304,3.394,305,3.394,306,1.663,307,1.663,308,1.663,309,1.663,310,1.283,311,2.099,312,1.156,313,1.37,314,1.486,315,1.663,316,1.37,317,1.486,318,1.064,319,2.57,320,1.663,321,0.959,322,1.663,323,1.663,324,2.64,325,1.663,326,1.663,327,1.663,328,1.663,329,2.369,330,1.663,331,1.283,332,1.486,333,1.37,334,1.283,335,1.486,336,1.486,337,1.663,338,2.874,339,1.214,340,1.663,341,1.663,342,1.486,343,1.663,344,5.107,345,1.663,346,1.663,347,2.874,348,1.663,349,1.283,350,1.663,351,1.283,352,1.663,353,1.003,354,1.663,355,1.663,356,1.316,357,1.663,358,1.258,359,1.486,360,1.214,361,1.663,362,2.93,363,1.663,364,2.874,365,3.797,366,1.663,367,1.663,368,2.874,369,2.874,370,1.663,371,0.991,372,1.663,373,2.874,374,1.663,375,1.663,376,1.663,377,1.064,378,1.663,379,2.099,380,1.486,381,0.959,382,1.486,383,1.486,384,1.658,385,0.959,386,1.663,387,1.37,388,1.214,389,3.797,390,4.209,391,0.879,392,2.57,393,1.025,394,1.486,395,1.486,396,1.663,397,1.663,398,1.107,399,2.57,400,1.486,401,2.369,402,1.486,403,1.663,404,1.663,405,1.37,406,2.874,407,1.663,408,1.663,409,1.663,410,1.663,411,1.663,412,1.064,413,1.37,414,1.486,415,1.37,416,1.663,417,0.959,418,1.663,419,1.663,420,1.214,421,1.283,422,1.663,423,1.486,424,1.107,425,1.663,426,1.486,427,1.025,428,1.486,429,1.486,430,1.663]],["t/15",[0,0.367,7,2.688,8,3.8,9,3.637,11,1.72,14,1.906,17,3.989,22,2.355,23,2.355,66,2.451,93,3.637,95,5.263,96,1.76,124,2.055,125,2.27,131,2.451,164,2.841,165,3.882,166,7.069,168,2.249,169,3.255,170,3.989,176,2.06,189,2.27,192,2.688,225,1.546,239,1.546,242,3.29,251,2.688,261,1.546,272,1.682,282,3.29,283,3.29,294,2.27,296,2.27,297,2.688,299,3.29,300,2.688,301,2.841,336,3.29,381,2.124,385,3.152,388,2.688,427,2.27,431,3.681,432,2.06,433,3.681,434,5.463,435,2.688,436,3.152,437,3.29,438,3.681,439,3.681,440,2.56,441,3.681,442,3.681,443,3.681,444,3.681,445,3.681,446,2.06,447,3.033,448,3.681,449,2.688,450,1.457,451,3.033,452,3.681,453,5.463,454,3.681,455,3.033,456,2.688,457,3.29,458,3.681,459,3.681,460,2.841,461,2.355,462,3.29,463,2.06]],["t/17",[0,0.753,14,1.677,41,3.111,78,2.613,85,4.599,124,2.086,169,2.864,174,3.075,216,3.021,259,3.71,263,3.075,286,4.297,301,3.71,310,3.71,381,2.773,399,4.297,402,4.297,428,4.297,461,3.075,464,4.807,465,4.297,466,3.961,467,5.104,468,5.104,469,3.71,470,4.807,471,6.613,472,4.297,473,3.51,474,3.343,475,4.297,476,4.807,477,3.51,478,4.297,479,3.961,480,4.297,481,2.149,482,3.961,483,4.807,484,4.807,485,4.807,486,4.807,487,4.807,488,4.807,489,4.807,490,4.297,491,3.51,492,2.69,493,4.297]],["t/19",[0,0.489,1,3.414,3,3.789,11,2.294,19,3.789,22,4.292,23,3.141,31,3.789,48,2.747,74,3.789,78,2.669,79,2.404,197,4.388,228,4.045,261,2.061,333,4.045,381,2.832,384,2.832,429,4.388,463,2.747,492,2.747,494,4.909,495,4.388,496,4.045,497,4.909,498,3.789,499,4.909,500,4.666,501,4.909,502,3.584,503,4.909,504,4.909,505,4.388,506,4.909,507,3.414,508,4.388,509,4.909,510,4.388,511,4.388,512,4.388,513,3.414,514,4.388,515,3.789,516,2.925,517,4.909,518,4.909,519,4.909,520,4.909,521,4.909,522,4.909,523,4.388,524,4.909,525,4.909,526,4.909]],["t/21",[0,0.318,14,1.114,32,0.531,45,1.251,50,1.549,58,1.218,124,0.593,134,1.203,140,1.842,142,1.085,145,0.994,149,1.052,178,1.373,181,2.631,182,1.373,183,0.994,187,0.944,189,2.567,192,2.331,216,1.459,220,1.052,226,3.787,235,0.759,238,0.878,239,2.509,249,3.213,257,1.451,270,1.373,272,1.459,273,1.603,288,1.307,311,1.373,321,1.085,360,2.331,377,1.203,379,1.373,427,1.159,455,2.631,463,1.052,475,1.68,496,2.631,527,1.451,528,1.88,529,1.68,530,3.193,531,1.88,532,1.307,533,1.88,534,1.451,535,1.549,536,4.212,537,2.631,538,1.88,539,1.68,540,1.68,541,1.88,542,1.88,543,1.451,544,1.159,545,1.88,546,1.88,547,4.386,548,1.88,549,2.895,550,1.88,551,1.88,552,1.689,553,3.721,554,3.193,555,1.88,556,2.854,557,1.88,558,1.88,559,1.88,560,2.331,561,1.88,562,1.88,563,1.373,564,0.96,565,1.307,566,1.307,567,1.88,568,1.644,569,4.162,570,3.193,571,4.312,572,1.68,573,1.68,574,1.88,575,1.451,576,1.68,577,1.903,578,1.88,579,1.88,580,1.88,581,1.451,582,1.68,583,1.88,584,1.88,585,1.88,586,1.88,587,1.88,588,1.88,589,3.583,590,1.307,591,1.88,592,1.88,593,1.451,594,1.68,595,1.88,596,2.221,597,1.689,598,1.373,599,1.307,600,2.895,601,1.203,602,4.465,603,1.251,604,1.68,605,1.68,606,1.88,607,1.373,608,1.88,609,1.88,610,4.386,611,4.386,612,1.549,613,2.631,614,2.895,615,2.464,616,1.88,617,1.373,618,1.88,619,1.88,620,1.88,621,1.159,622,1.88,623,1.88,624,2.331,625,1.88,626,1.88,627,1.88,628,1.88,629,1.68,630,3.193,631,2.464,632,1.373,633,1.203,634,1.085,635,1.842,636,1.68,637,1.549,638,2.331,639,1.88,640,1.88,641,1.88,642,1.88,643,1.159,644,1.88,645,1.88,646,1.88,647,2.854,648,2.126,649,2.221,650,1.88,651,1.88,652,1.88,653,1.68,654,1.88,655,1.88,656,1.88,657,1.88,658,1.159,659,1.88,660,1.88,661,1.451,662,1.68,663,1.68,664,1.549,665,1.88,666,1.451]],["t/23",[2,1.259,28,0.949,47,3.232,48,0.728,73,1.482,87,0.866,88,1.957,105,2.07,124,0.731,125,0.802,140,1.807,145,0.688,178,0.949,189,2.344,192,1.691,216,2.698,220,0.728,225,2.594,227,0.622,235,0.525,236,0.904,238,0.608,239,1.315,252,1.691,261,1.315,312,0.904,318,2.004,321,0.75,339,0.949,356,1.761,379,0.949,381,0.75,383,2.07,391,0.688,405,1.071,427,0.802,440,1.611,450,1.726,456,2.287,457,1.162,460,1.788,472,1.162,481,0.581,532,0.904,534,1.788,536,3.652,560,0.949,568,0.67,571,0.802,577,1.866,581,1.004,590,1.611,596,0.904,597,1.225,602,1.542,607,0.949,613,1.909,614,0.904,617,0.949,631,1.004,634,0.75,635,0.75,643,0.802,649,3.891,666,2.417,667,0.9,668,1.162,669,1.071,670,0.949,671,0.832,672,3.132,673,1.071,674,4.085,675,1.3,676,1.3,677,1.788,678,1.3,679,1.3,680,2.316,681,1.162,682,3.132,683,2.316,684,1.336,685,2.316,686,2.316,687,1.3,688,2.581,689,2.417,690,0.866,691,1.3,692,1.3,693,1.162,694,0.832,695,0.949,696,1.162,697,3.267,698,1.3,699,3.123,700,1.3,701,1.162,702,1.071,703,1.071,704,1.3,705,2.316,706,1.3,707,1.162,708,1.3,709,1.3,710,1.071,711,1.162,712,1.3,713,2.8,714,1.071,715,0.949,716,1.071,717,1.3,718,1.071,719,1.162,720,0.949,721,0.866,722,4.61,723,1.3,724,1.3,725,1.071,726,1.3,727,1.3,728,1.3,729,2.8,730,1.3,731,1.162,732,1.004,733,1.162,734,1.3,735,5.291,736,1.3,737,1.3,738,1.3,739,2.775,740,3.398,741,1.3,742,1.3,743,1.3,744,1.3,745,2.316,746,1.3,747,1.909,748,0.775,749,2.316,750,1.3,751,1.3,752,1.3,753,1.3,754,0.832,755,1.3,756,0.949,757,1.3,758,1.162,759,1.004,760,1.3,761,1.3,762,1.004,763,2.316,764,2.8,765,4.319,766,1.3,767,1.3,768,1.3,769,1.3,770,1.3,771,1.3,772,1.3,773,1.3,774,1.3,775,1.3,776,2.07,777,1.3,778,1.3,779,1.004,780,3.398,781,1.788,782,1.071,783,1.3,784,1.3,785,1.3,786,1.3,787,1.162,788,2.07,789,1.162,790,1.3,791,1.3,792,1.071,793,1.3,794,1.3,795,1.3,796,1.3,797,1.071,798,1.3,799,0.949,800,1.3,801,1.162,802,0.949,803,1.3,804,1.3,805,1.3,806,1.162,807,1.3,808,0.775,809,1.3,810,1.3,811,1.3,812,3.132,813,1.3,814,2.316,815,1.3,816,1.004,817,1.3,818,1.071,819,1.3,820,2.316,821,1.3,822,1.162,823,1.071,824,1.162,825,1.3,826,1.162,827,1.3,828,1.3,829,3.801,830,0.866,831,1.3,832,1.3,833,1.909,834,1.3,835,1.004,836,1.071,837,1.3,838,1.071,839,1.3,840,1.3,841,1.162,842,1.3,843,1.162,844,1.3,845,1.3,846,1.3,847,1.004,848,1.3,849,2.07,850,1.3,851,1.3,852,1.3,853,1.3,854,1.3,855,1.071,856,1.162,857,1.162,858,1.071,859,1.3]],["t/25",[1,2.803,11,1.883,27,1.024,47,1.535,48,1.393,80,1.657,87,1.657,88,1.282,117,2.931,189,1.535,225,1.045,318,3.736,356,1.309,390,3.321,424,1.657,427,1.535,450,0.985,536,1.219,568,2.616,589,1.817,597,1.316,598,1.817,603,1.657,648,3.887,649,2.803,688,3.321,697,2.131,725,2.051,748,4.091,756,2.943,759,1.921,764,2.225,799,1.817,801,2.225,806,2.225,808,2.402,816,3.111,818,4.186,830,2.683,843,2.225,860,2.489,861,2.051,862,5.22,863,2.489,864,2.489,865,4.507,866,4.812,867,2.225,868,2.489,869,2.489,870,2.489,871,2.489,872,2.225,873,5.58,874,1.817,875,2.051,876,2.489,877,2.489,878,2.489,879,5.957,880,3.92,881,4.03,882,4.812,883,1.921,884,2.489,885,2.489,886,2.225,887,3.111,888,1.817,889,5.58,890,3.111,891,2.489,892,1.731,893,2.225,894,1.921,895,2.489,896,2.489,897,2.489,898,4.03,899,2.489,900,4.684,901,4.186,902,2.489,903,2.225,904,1.921,905,2.225,906,2.489,907,2.489,908,2.489,909,2.489,910,2.489,911,2.489,912,2.489,913,3.321,914,2.489,915,2.489,916,2.489,917,4.03,918,4.03,919,2.051,920,4.54,921,3.603,922,3.321,923,2.489,924,1.921,925,1.921,926,2.051,927,2.051,928,2.051,929,2.489,930,2.051,931,2.225,932,2.051,933,2.489,934,2.489]],["t/27",[1,1.067,2,0.834,4,1.067,27,0.631,47,3.543,87,2.375,112,4.772,189,0.946,225,1.796,236,1.067,332,1.371,342,2.395,356,0.919,380,1.371,390,1.264,393,2.2,398,1.021,405,1.264,440,3.377,465,1.371,481,0.686,495,1.371,500,2.481,527,1.184,536,4.38,566,1.864,568,1.38,593,1.184,594,1.371,596,2.975,597,1.417,598,3.898,603,1.784,617,1.12,633,3.675,634,2.059,635,3.315,638,1.957,648,3.233,649,1.067,671,0.981,674,2.605,688,1.264,689,1.184,694,2.283,697,4.157,699,1.597,702,2.208,715,1.12,716,1.264,720,1.957,722,2.208,735,1.264,739,1.957,747,1.264,748,2.549,765,1.264,780,3.19,781,5.75,802,1.957,808,1.597,816,1.184,823,2.208,833,2.94,841,3.19,847,1.184,861,1.264,865,2.068,866,2.208,873,1.184,882,1.264,883,1.184,888,2.605,889,3.301,892,1.067,900,4.195,904,1.184,913,1.264,921,3.19,927,2.208,928,1.264,931,1.371,935,1.534,936,1.534,937,1.534,938,1.184,939,7.027,940,1.534,941,1.534,942,3.301,943,1.534,944,2.68,945,1.534,946,2.68,947,4.277,948,1.534,949,1.371,950,1.12,951,1.957,952,1.371,953,1.534,954,1.371,955,3.568,956,1.534,957,1.371,958,2.68,959,1.371,960,3.19,961,3.19,962,1.534,963,3.568,964,4.277,965,3.996,966,1.534,967,2.68,968,1.371,969,2.68,970,1.184,971,1.546,972,1.534,973,0.985,974,3.568,975,2.208,976,1.534,977,1.534,978,1.534,979,3.19,980,1.371,981,2.68,982,2.68,983,2.68,984,3.19,985,1.534,986,1.371,987,1.371,988,1.264,989,1.534,990,1.371,991,0.834,992,1.534,993,4.856,994,1.534,995,1.534,996,1.184,997,1.264,998,1.12,999,1.534,1000,1.371,1001,1.264,1002,1.534]],["t/29",[0,0.406,27,1.676,87,2.71,88,2.096,104,2.831,142,2.349,183,2.153,221,2.831,239,3.176,261,1.709,276,3.142,393,2.51,421,3.142,463,2.278,507,2.831,536,4.222,565,2.831,600,2.831,601,5.132,621,2.51,633,5.132,635,3.393,666,3.142,697,4.242,702,3.355,725,3.355,748,2.426,759,4.54,781,4.54,782,3.355,830,2.71,888,2.972,924,3.142,932,3.355,942,3.142,984,3.639,990,3.639,998,2.972,1003,5.69,1004,4.071,1005,3.142,1006,3.639,1007,4.071,1008,4.071,1009,3.355,1010,4.802,1011,5.258,1012,3.355,1013,4.071,1014,4.071,1015,4.071,1016,4.071,1017,3.639,1018,4.071,1019,3.639,1020,4.071]],["t/31",[14,0.594,18,0.983,27,0.701,32,0.481,47,3.197,48,1.643,73,1.09,79,0.834,87,1.134,88,0.877,104,1.185,117,1.694,152,1.244,153,1.315,154,1.134,219,0.954,220,0.954,225,1.624,239,2.923,288,1.185,318,1.09,353,0.594,356,2.058,362,2.985,371,3.089,379,3.357,391,0.901,393,2.385,424,1.954,427,1.051,435,1.244,437,1.523,447,1.404,473,1.244,481,1.312,527,1.315,536,2.539,552,0.901,560,2.143,564,0.512,568,1.992,571,1.051,597,1.552,600,1.185,601,3.316,602,1.134,603,1.134,607,1.244,621,2.385,633,4.597,634,2.231,635,3.869,643,1.81,648,1.954,658,1.051,667,0.662,672,1.404,674,1.244,690,2.575,697,1.552,699,2.304,718,1.404,739,2.143,740,1.523,748,2.304,759,2.266,802,1.244,808,1.015,818,1.404,833,1.404,835,1.315,861,1.404,862,1.523,865,1.315,866,1.404,873,1.315,879,2.419,880,2.266,882,1.404,883,1.315,887,4.373,888,2.143,889,1.315,890,1.315,892,2.042,894,2.985,900,3.357,905,1.523,938,1.315,942,1.315,950,2.824,954,1.523,957,1.523,979,2.624,997,1.404,1003,2.419,1006,1.523,1010,2.69,1021,1.704,1022,1.878,1023,1.523,1024,2.624,1025,2.936,1026,1.704,1027,1.704,1028,1.704,1029,1.704,1030,3.457,1031,2.936,1032,3.867,1033,1.523,1034,1.704,1035,1.704,1036,1.704,1037,1.704,1038,1.404,1039,1.704,1040,2.266,1041,1.134,1042,1.523,1043,1.704,1044,6.066,1045,1.704,1046,2.936,1047,1.523,1048,0.983,1049,4.109,1050,1.404,1051,1.704,1052,1.704,1053,1.704,1054,2.624,1055,1.704,1056,2.419,1057,1.704,1058,3.867,1059,1.704,1060,1.704,1061,1.704,1062,1.404,1063,2.624,1064,0.474,1065,2.936,1066,1.523,1067,1.704,1068,2.936,1069,1.704,1070,1.704,1071,1.704,1072,1.244,1073,1.704,1074,1.704,1075,1.523,1076,1.704,1077,1.523,1078,1.704,1079,1.704,1080,1.704,1081,1.704,1082,1.704,1083,1.704,1084,1.185,1085,1.704,1086,1.704,1087,1.704,1088,2.936,1089,1.704,1090,1.404,1091,1.704,1092,1.523,1093,2.624,1094,1.704,1095,1.704,1096,1.704,1097,1.704]],["t/33",[2,1.872,20,2.394,27,2.139,47,3.86,125,2.123,144,2.394,225,1.446,239,1.446,272,1.573,356,2.028,427,2.123,498,2.657,536,3.415,568,3.591,597,1.821,633,4.461,634,3.611,635,4.318,647,4.645,648,2.292,653,3.077,666,2.657,697,3.31,699,3.73,710,2.837,739,2.514,747,2.837,748,3.096,797,2.837,802,2.514,865,4.011,867,3.077,872,3.077,873,4.831,879,2.837,880,2.657,883,2.657,887,4.011,890,2.657,894,4.011,938,2.657,942,4.011,950,3.794,996,2.657,1010,2.394,1022,2.202,1044,5.382,1049,3.077,1050,2.837,1054,3.077,1056,2.837,1098,3.443,1099,3.443,1100,3.443,1101,2.837,1102,3.077,1103,3.443,1104,3.443,1105,4.353,1106,4.57,1107,3.443,1108,3.443,1109,2.837,1110,2.514,1111,3.443,1112,3.443,1113,3.443,1114,3.077,1115,3.443,1116,3.443,1117,3.443,1118,3.443,1119,3.443]],["t/35",[14,1.112,32,0.9,129,4.36,140,1.84,141,1.642,154,2.123,235,1.287,239,3.727,312,2.218,324,4.661,335,2.85,356,0.822,398,2.123,427,3.023,450,1.262,473,4.894,481,1.425,536,1.562,564,0.959,571,1.966,596,2.218,601,4.628,602,3.263,631,5.173,633,4.886,634,4.406,635,1.84,636,2.85,694,2.04,748,1.9,779,2.461,782,2.628,808,1.9,838,2.628,857,2.85,888,2.328,938,3.783,960,2.85,961,2.85,971,1.84,1010,5.71,1019,2.85,1023,4.382,1030,2.85,1033,2.85,1040,3.783,1044,2.461,1090,2.628,1110,2.328,1120,4.382,1121,3.189,1122,2.628,1123,7.11,1124,4.902,1125,2.85,1126,2.85,1127,4.902,1128,3.189,1129,3.189,1130,3.189,1131,3.189,1132,2.628,1133,4.382,1134,4.902,1135,3.189,1136,3.189,1137,3.189,1138,3.189,1139,2.628,1140,4.609,1141,3.189]],["t/37",[88,1.818,140,3.056,182,3.867,287,2.909,316,2.909,321,2.037,356,2.366,360,5.524,536,3.706,560,2.578,571,3.919,572,3.156,576,4.734,597,2.801,667,1.372,674,2.578,677,4.088,697,3.361,699,3.787,722,2.909,729,7.101,754,5.271,756,3.867,776,4.734,788,4.734,789,4.734,830,3.526,890,4.088,930,5.237,1012,2.909,1093,4.734,1142,4.734,1143,3.531,1144,3.156,1145,3.531,1146,3.531,1147,3.531,1148,7.062,1149,5.296,1150,3.531,1151,3.531,1152,3.531,1153,2.104,1154,3.531,1155,3.531,1156,5.296,1157,3.531,1158,3.531,1159,3.156,1160,3.531,1161,3.531,1162,3.531,1163,3.531,1164,3.531]],["t/39",[11,0.94,27,1.391,47,2.084,83,1.657,87,2.25,110,1.798,140,1.95,182,4.173,189,1.24,225,1.419,235,0.812,239,0.844,272,1.544,276,1.552,292,1.798,324,1.399,356,2.317,360,1.468,391,1.063,424,2.25,473,1.468,481,0.899,536,2.799,568,2.639,571,3.16,596,1.399,597,1.788,600,1.399,601,1.287,603,1.339,617,1.468,621,2.084,631,1.552,633,3.96,634,3.572,635,2.523,643,1.24,648,1.339,661,1.552,674,1.468,697,1.063,699,3.054,714,1.657,731,5.109,735,2.785,739,2.468,748,3.054,765,4.709,802,2.468,808,1.198,892,1.399,894,4.411,900,1.468,901,2.785,904,1.552,922,1.657,932,2.785,987,3.909,998,2.468,1010,5.163,1012,2.785,1022,1.287,1040,2.609,1044,4.411,1050,1.657,1102,1.798,1114,3.022,1120,1.798,1125,1.798,1126,1.798,1132,1.657,1140,1.552,1142,5.109,1159,5.109,1165,1.798,1166,1.798,1167,2.011,1168,2.011,1169,2.011,1170,2.011,1171,3.38,1172,3.38,1173,3.38,1174,3.38,1175,4.373,1176,3.38,1177,4.373,1178,2.011,1179,2.011,1180,2.011,1181,2.011,1182,2.011,1183,2.011,1184,2.011,1185,3.38,1186,2.351,1187,3.38,1188,2.011,1189,2.011,1190,2.011,1191,2.011,1192,2.011,1193,3.38,1194,1.399,1195,2.011,1196,1.798,1197,0.753,1198,1.657,1199,1.657,1200,2.011,1201,2.011,1202,2.011,1203,1.798,1204,2.011,1205,1.798,1206,2.011,1207,2.011,1208,4.373,1209,2.011,1210,2.011,1211,2.011,1212,2.011,1213,1.552,1214,1.339,1215,1.657,1216,2.011,1217,2.011,1218,2.011,1219,3.38,1220,2.011,1221,2.011,1222,2.011,1223,1.657,1224,2.011,1225,2.011]],["t/41",[14,0.954,27,2.227,32,0.772,47,1.686,80,1.821,107,1.997,220,1.53,225,1.148,239,1.825,252,1.997,261,1.148,272,1.986,288,1.902,313,2.254,331,2.111,356,2.12,469,2.111,473,1.997,536,3.295,540,2.445,564,0.822,589,1.997,590,3.023,600,3.023,601,2.781,602,1.821,617,1.997,634,1.578,635,2.508,648,4.104,649,4.981,672,2.254,681,2.445,689,2.111,697,1.446,715,3.174,720,1.997,733,2.445,781,4.176,830,1.821,836,2.254,847,4.176,880,3.355,886,2.445,887,4.176,889,2.111,892,1.902,900,3.174,903,2.445,913,2.254,925,2.111,927,4.458,949,2.445,950,1.997,1000,2.445,1010,1.902,1011,2.445,1022,1.75,1056,2.254,1092,4.837,1123,2.445,1213,2.111,1215,2.254,1223,2.254,1226,2.111,1227,2.735,1228,2.445,1229,2.735,1230,2.445,1231,2.735,1232,2.735,1233,6.013,1234,2.735,1235,4.347,1236,2.735,1237,2.735,1238,2.735,1239,2.735,1240,2.735,1241,2.735,1242,2.735,1243,2.735,1244,2.735,1245,2.735,1246,2.735,1247,2.735,1248,2.735,1249,4.347,1250,2.445,1251,2.735,1252,2.735,1253,4.347,1254,2.445,1255,2.735,1256,5.411,1257,2.735,1258,2.735,1259,2.735,1260,2.735,1261,2.735,1262,2.735,1263,2.735,1264,4.347,1265,5.411,1266,2.735,1267,1.75,1268,2.735,1269,2.735,1270,2.735,1271,2.445,1272,2.735,1273,2.445,1274,2.735,1275,2.111]],["t/43",[0,0.423,2,2.308,14,1.481,45,2.827,134,2.716,183,2.245,189,3.738,235,1.714,239,2.545,339,3.1,455,3.499,463,2.376,496,3.499,508,3.795,523,3.795,527,3.277,529,3.795,536,2.969,537,3.499,547,5.419,549,2.953,556,3.795,564,1.823,571,3.738,575,3.277,581,3.277,582,3.795,600,4.216,602,4.707,603,4.707,610,3.795,611,3.795,612,3.499,613,3.499,624,3.1,637,3.499,658,2.618,699,2.53,808,2.53,836,3.499,855,3.499,1040,3.277,1062,3.499,1122,3.499,1140,3.277,1228,3.795,1276,3.795,1277,4.246,1278,2.716,1279,4.246,1280,3.499,1281,3.795,1282,4.246,1283,3.277,1284,4.246,1285,4.246,1286,4.246,1287,4.246,1288,4.246,1289,3.795,1290,4.246,1291,4.246,1292,4.246,1293,4.246,1294,4.246,1295,4.246,1296,4.246]],["t/45",[145,3.184,532,4.187,536,2.948,571,3.712,649,4.187,662,5.382,663,6.863,874,4.396,1090,4.961,1101,4.961,1297,6.02,1298,5.382,1299,6.02,1300,6.02,1301,6.02,1302,6.02,1303,5.382,1304,5.382,1305,5.382,1306,5.382,1307,6.02,1308,6.02,1309,6.02,1310,6.02,1311,6.02,1312,6.02,1313,6.02,1314,6.02,1315,6.02]],["t/47",[27,1.951,124,1.496,140,3.779,313,3.907,314,4.238,560,3.462,596,3.297,598,3.462,635,4.33,748,3.903,787,4.238,808,2.825,816,3.659,830,3.156,838,3.907,901,3.907,922,6.67,965,4.555,986,4.238,998,3.462,1047,4.238,1132,3.907,1198,3.907,1205,7.236,1254,4.238,1316,4.741,1317,4.741,1318,4.741,1319,4.741,1320,4.741,1321,6.709,1322,4.741,1323,4.741,1324,4.741,1325,4.741,1326,6.709,1327,6.55,1328,5.397,1329,4.741,1330,4.741,1331,6.55,1332,3.907,1333,4.741]],["t/49",[14,1.463,18,2.42,140,3.467,183,3.178,221,2.917,235,1.693,239,2.948,312,2.917,339,3.063,451,3.456,534,4.638,536,3.975,564,1.261,565,2.917,571,2.586,597,2.218,601,4.492,602,4.675,633,4.492,635,4.683,667,1.629,697,4.055,748,3.581,797,3.456,799,3.063,965,5.333,998,3.063,1003,4.952,1017,3.749,1144,3.749,1196,3.749,1197,2.25,1198,3.456,1199,3.456,1203,3.749,1213,3.237,1303,3.749,1304,3.749,1305,3.749,1306,3.749,1334,6.009,1335,4.194,1336,3.749,1337,4.194,1338,4.194,1339,2.917,1340,3.237,1341,4.194,1342,6.009,1343,4.194]],["t/52",[0,0.825,34,2.759,35,2.971,119,3.691,124,1.82,238,2.696,353,2.012,356,2.338,377,3.691,492,3.229,1064,2.077,1344,3.691,1345,2.422,1346,5.769,1347,2.636,1348,4.453,1349,4.754,1350,3.557,1351,4.754,1352,4.754,1353,4.754,1354,3.841,1355,3.691,1356,3.051,1357,4.754,1358,4.754,1359,4.212,1360,4.453]],["t/54",[11,2.128,14,1.588,34,2.178,35,2.345,68,3.325,88,2.345,124,1.437,145,2.408,187,3.197,203,3.031,208,2.808,216,2.91,238,2.128,239,2.674,261,2.674,379,4.65,391,3.884,420,3.325,460,3.515,461,2.913,463,3.564,498,3.515,532,3.167,607,3.325,667,1.769,694,2.913,830,3.031,973,1.674,1275,3.515,1278,4.699,1283,3.515,1344,2.913,1345,1.912,1361,4.554,1362,4.07,1363,4.554,1364,4.554,1365,4.554,1366,3.515,1367,4.07,1368,4.554,1369,3.167,1370,3.167,1371,4.916,1372,4.554,1373,4.07,1374,4.554,1375,4.554,1376,4.07,1377,4.554,1378,3.167,1379,4.07,1380,3.325,1381,3.167,1382,3.031,1383,4.554]],["t/56",[32,1.88,135,5.951,261,2.795,273,3.342,420,4.861,543,5.139,1110,4.861,1370,4.63,1384,5.486,1385,4.259,1386,5.951,1387,6.658,1388,6.658,1389,6.658,1390,5.951,1391,6.658,1392,3.967,1393,5.951,1394,6.658]],["t/58",[0,0.875,36,1.151,88,2.441,124,1.496,168,2.696,225,1.991,238,2.215,353,1.654,356,2.189,358,2.074,432,2.653,492,2.653,667,1.842,973,1.743,1064,2.251,1197,1.775,1347,2.166,1348,3.659,1349,3.907,1350,2.923,1351,3.907,1352,3.907,1353,3.907,1354,3.156,1355,3.033,1356,2.507,1357,3.907,1358,3.907,1359,3.462,1360,3.659,1395,2.246,1396,1.842,1397,2.735,1398,4.741,1399,2.825,1400,2.928,1401,2.577,1402,3.156,1403,2.735,1404,3.297,1405,2.923,1406,3.462,1407,4.741,1408,3.659,1409,5.855]],["t/61",[0,0.91,36,1.313,79,2.649,80,3.6,121,4.174,131,3.6,168,2.226,254,4.456,353,2.498,356,2.202,461,3.46,1347,3.272,1401,3.893,1402,3.6,1403,4.131,1404,4.98,1405,4.415,1410,3.335,1411,5.408,1412,4.456,1413,5.408,1414,4.834,1415,5.408,1416,5.408,1417,4.834,1418,5.408,1419,3.949,1420,5.408,1421,5.408]],["t/63",[79,3.14,317,5.731,469,4.948,701,5.731,1401,3.485,1403,3.699,1405,3.953,1410,5.616,1422,5.283,1423,6.411,1424,6.411,1425,6.411,1426,5.731,1427,5.731,1428,6.411,1429,6.411,1430,6.411,1431,6.411,1432,6.411,1433,6.411]],["t/65",[1401,4.137,1405,4.693,1410,4.693,1434,6.271,1435,7.61,1436,7.61]],["t/67",[24,4.475,168,3.385,693,6.009,980,6.009,996,5.189,1400,3.005,1401,4.832,1410,4.145,1437,5.54,1438,4.908,1439,5.54,1440,4.475,1441,4.675,1442,6.722,1443,6.722]],["t/69",[27,2.714,128,3.23,244,4.219,277,4.586,349,5.09,385,3.805,395,5.895,621,4.066,669,5.434,1399,3.929,1401,4.419,1440,4.39,1441,4.586,1444,6.594,1445,6.594,1446,6.594,1447,4.815,1448,6.594,1449,6.594]],["t/71",[0,0.914,11,3.052,32,1.845,36,1.961,168,3.611,225,3.393,721,4.349,1381,4.543,1395,2.24,1401,3.551,1403,3.769,1450,2.984,1451,5.839,1452,5.383]],["t/73",[0,0.866,168,3.032,667,2.862,1064,2.048,1194,5.123,1396,2.862,1399,4.39,1401,4.005]],["t/75",[0,0.923,14,1.843,32,1.991,36,1.711,78,2.873,168,2.175,235,2.133,415,4.354,564,1.589,1064,1.961,1281,4.724,1395,2.417,1396,2.053,1400,2.362,1403,4.068,1450,2.414,1452,4.354,1453,3.381,1454,4.354,1455,7.051,1456,4.354,1457,5.284,1458,5.284,1459,4.724,1460,4.078,1461,3.381,1462,5.284,1463,4.078,1464,5.284,1465,3.453,1466,4.694,1467,5.284]],["t/77",[0,0.752,36,1.424,72,4.528,168,3.844,225,2.463,297,4.284,356,2.152,432,3.283,1401,4.96,1402,5.027,1403,3.385,1404,4.08,1406,4.284,1460,4.528,1461,3.753,1463,4.528,1468,5.245,1469,3.906,1470,5.867,1471,5.867]],["t/79",[0,0.838,14,1.312,32,1.062,36,1.347,48,2.105,58,2.516,79,2.719,124,1.751,128,1.842,168,2.715,175,2.241,222,1.888,235,1.518,238,2.594,353,1.312,356,2.224,384,2.17,393,2.319,417,2.17,436,2.17,516,2.241,721,2.504,1064,1.046,1197,1.408,1347,1.718,1348,2.903,1350,3.423,1352,3.099,1353,3.099,1354,2.504,1355,2.406,1356,2.936,1357,3.099,1358,3.099,1359,2.746,1409,4.962,1450,1.718,1472,2.504,1473,4.392,1474,2.746,1475,3.761,1476,5.092,1477,4.574,1478,4.962,1479,4.285,1480,3.099,1481,3.761,1482,2.746,1483,3.362,1484,3.761,1485,3.761,1486,3.761,1487,3.761,1488,3.761,1489,3.761,1490,4.962,1491,3.761,1492,3.761,1493,3.761,1494,3.761,1495,3.761,1496,3.761,1497,3.761,1498,3.761,1499,3.761,1500,3.761,1501,3.362]],["t/81",[0,0.824,11,1.298,32,1.544,34,2.615,35,2.816,39,1.85,63,1.656,66,1.85,79,1.361,97,2.623,117,1.603,119,1.778,124,0.877,125,1.713,126,1.85,127,1.932,128,3.953,134,3.498,172,3.935,175,2.623,187,3.122,189,1.713,202,1.511,206,2.145,216,2.498,222,1.395,224,2.623,225,1.167,239,1.849,252,2.029,272,1.27,273,1.395,294,1.713,324,1.932,351,2.145,381,1.603,468,2.145,502,2.029,507,1.932,516,3.706,536,1.361,543,4.801,564,1.324,565,1.932,581,3.398,670,2.029,715,2.029,1009,2.29,1038,2.29,1041,1.85,1110,2.029,1153,1.656,1186,1.932,1215,2.29,1267,2.816,1344,1.778,1345,1.167,1355,1.778,1369,3.062,1378,3.062,1381,4.326,1392,2.623,1400,1.968,1450,1.27,1453,1.778,1502,4.403,1503,3.64,1504,3.802,1505,2.484,1506,3.398,1507,1.04,1508,2.779,1509,2.484,1510,2.779,1511,2.145,1512,1.85,1513,1.85,1514,2.931,1515,2.29,1516,2.779,1517,2.484,1518,2.145,1519,2.779,1520,2.29,1521,2.145,1522,2.779,1523,3.935,1524,2.145,1525,2.29,1526,2.779,1527,2.779,1528,2.484,1529,2.484,1530,2.29,1531,2.29,1532,1.85,1533,2.484,1534,3.215,1535,2.484,1536,1.932,1537,2.779,1538,2.779,1539,2.29,1540,2.029]],["t/84",[0,0.457,36,1.112,58,2.44,125,2.826,149,2.565,216,2.094,238,2.142,274,3.188,321,3.692,356,2.299,371,2.731,377,2.932,381,2.645,388,3.347,450,1.815,482,3.777,492,2.565,515,3.538,544,4.92,563,3.347,577,3.813,593,3.538,699,2.731,720,3.347,951,4.672,1356,2.424,1359,3.347,1412,3.777,1474,3.347,1476,3.538,1477,3.777,1478,4.097,1479,3.538,1480,3.777,1541,4.097,1542,4.097,1543,4.584,1544,4.584,1545,5.273,1546,4.584,1547,6.399,1548,5.72,1549,4.584,1550,4.584,1551,4.584,1552,4.097,1553,4.584,1554,4.097,1555,4.584,1556,4.097]],["t/87",[124,2.324,272,3.366,321,4.25,381,4.25,544,4.543,577,4.39,1542,6.585,1557,7.367,1558,7.367]],["t/89",[0,0.58,14,2.62,27,2.394,145,3.076,251,4.248,261,2.443,270,4.248,312,4.046,391,3.076,421,4.49,450,2.303,456,4.248,507,4.046,515,5.797,532,4.046,544,4.631,637,4.794,826,5.2,939,5.2,1153,3.466,1370,4.046,1382,3.873,1559,5.818,1560,5.818,1561,5.2,1562,3.873,1563,5.818,1564,5.2,1565,5.818,1566,5.818,1567,5.818]],["t/91",[227,4.079,234,6.381,356,1.84,500,4.965,535,5.883,577,4.254,1153,4.254,1568,7.139,1569,7.139,1570,7.139,1571,6.381]],["t/93",[18,4.036,142,4.861,158,5.764,235,2.823,451,5.764,544,4.313,1379,6.252,1541,6.252,1572,6.994,1573,6.994,1574,6.994,1575,6.994,1576,6.994]],["t/95",[20,4.965,73,4.567,199,5.883,321,4.119,356,1.84,544,4.402,577,4.254,689,5.51,858,5.883,1340,5.51,1577,7.139,1578,7.139]],["t/97",[158,5.883,321,4.119,358,3.124,544,4.402,1528,6.381,1579,7.139,1580,7.139,1581,7.139,1582,7.139,1583,7.139,1584,7.139,1585,7.139]],["t/99",[0,0.765,2,3.273,97,5.037,124,1.899,187,3.022,224,3.587,272,2.751,385,4.429,792,4.961,1153,3.587,1399,3.587,1400,3.432,1437,4.961,1513,4.008,1530,4.961,1533,5.382,1586,4.396,1587,5.382,1588,4.961,1589,5.879,1590,4.961,1591,5.382,1592,5.382]],["t/101",[27,1.737,41,1.737,57,1.847,93,2.809,97,2.515,100,2.118,124,1.331,129,3.081,176,2.362,187,3.86,200,2.809,221,4.197,236,2.935,238,3.293,261,2.534,267,4.407,349,3.257,351,3.257,377,2.7,385,2.435,394,3.772,424,2.809,502,3.081,516,2.515,695,5.145,892,2.935,1133,3.772,1153,2.515,1345,2.534,1472,2.809,1507,1.58,1513,4.018,1518,3.257,1562,2.809,1587,5.395,1588,3.477,1589,5.886,1593,3.257,1594,5.395,1595,3.257,1596,5.395,1597,3.772,1598,3.772,1599,4.22,1600,4.22,1601,2.809,1602,3.772,1603,2.809,1604,4.22,1605,2.435,1606,3.772,1607,4.22,1608,3.772,1609,3.257,1610,4.22,1611,4.22,1612,4.22,1613,4.22,1614,3.257]],["t/103",[0,0.704,63,4.21,93,4.704,97,4.21,1186,4.914,1507,2.645,1531,5.823,1532,4.704,1586,5.159,1615,7.066,1616,6.316,1617,7.066,1618,7.066]],["t/105",[0,0.469,43,3.88,59,3.012,62,3.634,78,3.544,79,2.306,117,2.717,141,2.425,149,2.635,191,3.88,244,4.784,273,2.364,296,2.903,446,2.635,463,2.635,492,2.635,513,3.275,621,2.903,779,3.634,924,3.634,1194,3.275,1197,1.763,1278,4.784,1280,3.88,1378,3.275,1392,5.459,1395,1.614,1405,2.903,1619,3.634,1620,4.611,1621,3.88,1622,3.88,1623,4.209,1624,4.209,1625,4.709,1626,4.709,1627,4.709,1628,4.709,1629,4.209,1630,3.88,1631,5.46,1632,3.88,1633,4.209,1634,4.709,1635,4.709,1636,3.634]],["t/107",[0,0.611,14,1.16,41,2.523,54,1.809,55,1.809,96,1.591,106,2.215,124,1.05,141,1.713,149,1.862,187,1.67,191,4.172,202,1.809,208,2.051,225,1.397,227,1.591,238,1.555,239,1.397,240,2.051,244,4.383,256,2.314,257,3.908,270,5.383,273,1.67,274,2.314,294,2.051,296,3.122,297,2.429,300,2.429,301,2.568,359,2.974,371,1.982,385,1.919,413,2.741,417,1.919,461,2.128,463,2.834,493,2.974,552,2.678,643,2.051,694,2.128,699,3.017,713,2.974,1084,2.314,1197,1.246,1226,2.568,1278,3.239,1362,2.974,1381,2.314,1392,5.404,1596,2.974,1620,3.122,1621,4.172,1630,4.172,1631,5.003,1633,2.974,1636,5.69,1637,5.063,1638,2.568,1639,2.429,1640,3.327,1641,3.327,1642,5.003,1643,2.128,1644,3.327,1645,2.974,1646,3.327,1647,2.974,1648,2.974,1649,6.13,1650,2.128,1651,2.128,1652,3.327,1653,3.327,1654,2.429,1655,3.327,1656,2.974]],["t/109",[0,0.627,11,2.941,63,3.75,127,4.377,225,2.643,1392,5.141,1434,5.187,1453,4.027,1608,5.626,1631,6.3,1657,6.294,1658,6.095,1659,4.19,1660,6.294,1661,7.896,1662,6.294,1663,6.294,1664,6.294,1665,6.294]],["t/111",[0,0.817,18,2.006,36,1.271,41,2.155,42,2.539,68,2.539,96,1.663,101,3.108,124,1.652,141,3.243,142,2.006,144,2.418,145,3.33,149,1.946,187,1.746,225,2.644,227,1.663,274,2.418,291,2.684,296,2.144,353,1.213,356,0.896,412,2.225,446,1.946,450,1.377,463,1.946,516,2.072,552,1.839,564,1.045,565,2.418,643,2.144,658,2.144,849,3.108,874,2.539,952,3.108,968,3.108,1064,1.456,1347,1.589,1392,5.24,1399,2.072,1403,2.006,1404,2.418,1406,2.539,1419,2.539,1562,2.315,1588,2.865,1593,2.684,1621,2.865,1630,2.865,1631,6.521,1636,4.861,1666,2.865,1667,3.477,1668,5.189,1669,3.477,1670,3.108,1671,2.865,1672,2.072,1673,3.477,1674,3.108,1675,3.477,1676,2.865,1677,2.684,1678,3.108,1679,3.477,1680,3.477,1681,3.477,1682,3.477,1683,3.477,1684,3.477,1685,3.108,1686,3.477,1687,3.477,1688,3.477,1689,3.477]],["t/113",[11,1.817,52,2.588,54,2.114,55,2.114,66,2.588,72,3.001,141,2.929,222,1.952,261,1.632,264,4.687,272,1.776,296,4.148,423,3.475,474,2.704,563,2.839,568,2.929,597,3.008,598,2.839,599,3.956,756,2.839,919,3.204,920,3.475,965,2.704,1197,1.456,1378,4.678,1390,3.475,1392,4.41,1408,3.001,1507,1.456,1620,4.148,1623,5.085,1631,4.911,1632,3.204,1650,3.639,1651,2.487,1690,3.888,1691,5.085,1692,3.888,1693,3.888,1694,3.888,1695,5.688,1696,5.688,1697,3.888,1698,3.888,1699,6.726,1700,3.204,1701,3.888,1702,3.888,1703,3.888,1704,3.888,1705,3.888,1706,3.888,1707,3.888,1708,3.888,1709,3.888,1710,3.888,1711,3.888,1712,3.001,1713,3.888,1714,3.888,1715,3.204,1716,3.888,1717,3.888,1718,3.888,1719,3.888,1720,3.204,1721,3.888,1722,3.475,1723,2.704,1724,3.888]],["t/115",[0,0.71,32,1.515,57,2.348,80,3.572,96,2.566,124,2.247,143,5.498,144,3.732,145,4.505,187,4.014,202,2.917,217,3.732,220,3.003,222,4.014,223,5.498,224,4.245,272,2.452,316,4.422,381,3.096,450,2.124,732,4.142,1453,3.433,1523,4.797,1659,3.572,1725,3.433,1726,4.797,1727,5.366,1728,4.422,1729,5.366,1730,4.797,1731,4.422,1732,4.142]],["t/117",[0,0.681,2,1.8,18,1.91,24,3.359,32,1.425,36,0.804,57,1.449,58,1.262,93,2.204,117,1.91,124,1.928,145,3.89,176,1.853,187,1.662,208,2.042,217,2.303,218,4.251,219,1.853,222,3.068,223,3.894,227,1.583,238,1.547,255,2.417,261,2.118,263,2.118,290,2.728,311,2.417,333,2.728,353,2.132,356,2.141,398,2.204,417,3.526,435,2.417,446,1.853,450,1.311,456,2.417,474,2.303,491,2.417,516,1.973,564,0.995,664,2.728,667,1.96,697,1.751,716,2.728,1064,0.921,1084,2.303,1109,2.728,1214,2.204,1223,2.728,1355,2.118,1356,1.751,1395,1.135,1400,1.48,1447,2.417,1473,2.204,1509,2.96,1524,2.555,1593,2.555,1595,2.555,1725,2.118,1733,3.311,1734,3.311,1735,3.311,1736,3.311,1737,3.311,1738,3.311,1739,3.311,1740,5.045,1741,5.463,1742,2.96,1743,5.045,1744,4.51,1745,4.157,1746,2.96,1747,2.303,1748,2.96,1749,2.728,1750,2.728,1751,2.728,1752,2.728,1753,2.728,1754,2.728,1755,2.728,1756,2.728,1757,2.728,1758,2.555,1759,2.96,1760,3.311,1761,3.311]],["t/119",[0,0.704,32,0.997,36,0.857,41,2.906,58,1.346,124,2.228,145,3.361,187,1.772,202,1.919,219,1.976,222,1.772,223,4.088,224,2.104,227,3.039,243,2.455,267,2.578,271,2.725,272,3.457,277,2.455,291,2.725,318,2.259,353,1.231,356,2.388,371,2.104,398,3.526,417,3.056,450,1.398,564,1.061,577,2.104,703,5.237,732,2.725,991,1.919,1064,0.982,1214,3.526,1356,1.867,1360,2.725,1473,2.35,1514,2.35,1545,2.909,1666,2.909,1678,5.681,1730,3.156,1741,3.156,1742,3.156,1754,2.909,1755,2.909,1762,1.19,1763,2.909,1764,3.531,1765,3.531,1766,3.156,1767,3.531,1768,3.531,1769,6.355,1770,3.531,1771,7.062,1772,3.531,1773,2.909,1774,6.355,1775,6.355,1776,5.296,1777,3.531,1778,2.909]],["t/121",[0,0.835,2,2.023,18,2.147,27,1.531,32,1.051,58,1.419,79,1.822,124,2.286,176,2.082,202,2.023,211,2.477,218,2.587,222,1.868,227,4.008,235,1.502,256,2.587,311,2.717,353,1.921,356,2.365,417,5.071,446,2.082,463,2.082,516,3.281,566,2.587,658,2.294,874,2.717,1109,4.538,1214,2.477,1283,2.872,1356,3.467,1360,5.06,1514,4.365,1524,2.872,1545,4.538,1593,2.872,1754,3.066,1755,3.066,1757,3.066,1758,2.872,1779,3.721,1780,3.721,1781,5.507,1782,3.721,1783,2.872,1784,3.721,1785,3.721,1786,2.872,1787,3.721,1788,2.294,1789,3.721,1790,3.721,1791,3.721,1792,3.326,1793,3.721,1794,3.721,1795,3.721]],["t/123",[0,0.657,36,1.6,79,3.23,119,4.219,128,3.23,168,2.714,175,3.929,179,5.09,294,5.012,552,3.487,1267,5.2,1438,4.815,1796,6.594,1797,5.434,1798,6.594,1799,6.594,1800,5.09,1801,4.586]],["t/125",[0,0.693,36,0.831,79,2.536,96,2.476,168,2.131,183,1.812,248,2.644,275,5.579,296,2.112,297,4.557,353,1.806,356,2.375,469,2.644,593,2.644,604,4.628,714,2.823,721,2.281,754,2.192,926,2.823,1105,4.837,1106,2.501,1139,2.823,1332,2.823,1347,1.565,1350,2.112,1367,3.062,1402,2.281,1405,3.192,1453,2.192,1474,2.501,1483,3.062,1506,2.644,1520,5.142,1521,4.817,1556,3.062,1691,3.062,1797,2.823,1802,3.426,1803,2.644,1804,3.426,1805,5.177,1806,2.501,1807,3.426,1808,3.426,1809,3.426,1810,3.426,1811,3.426,1812,2.823,1813,3.426,1814,3.426,1815,2.823,1816,2.823,1817,2.823,1818,3.426,1819,5.177,1820,5.177,1821,3.426,1822,3.426,1823,2.823,1824,5.177,1825,3.426,1826,3.426,1827,3.426,1828,5.177,1829,3.426,1830,3.426,1831,3.426,1832,3.426,1833,3.426,1834,3.426,1835,3.426,1836,3.426,1837,3.426,1838,3.426,1839,3.426,1840,3.426,1841,3.426,1842,3.062,1843,3.426]],["t/127",[0,0.719,36,1.751,79,3.533,119,4.615,179,5.567,294,4.448,1344,4.615,1801,5.017,1844,6.448,1845,5.944,1846,6.448]],["t/129",[73,4.301,552,3.555,1153,4.006,1521,5.189,1614,5.189,1801,5.72,1803,5.189,1817,5.54,1847,6.009,1848,6.009,1849,6.722,1850,6.722,1851,6.722,1852,6.722,1853,6.722,1854,6.722,1855,6.722]],["t/131",[0,0.676,36,1.648,41,3.405,100,3.408,123,5.594,236,4.721,573,6.068,1153,4.045,1267,5.293,1275,5.24,1472,4.519,1638,5.24,1803,5.24,1856,6.788,1857,6.788]],["t/133",[32,1.88,41,2.74,176,3.726,178,4.861,199,5.486,287,5.486,300,4.861,480,5.951,1105,4.63,1515,5.486,1601,4.432,1602,5.951,1605,3.841,1801,4.63,1817,5.486,1858,5.97,1859,6.658,1860,6.658]],["t/135",[41,2.74,42,4.861,149,3.726,461,4.259,552,3.521,553,5.951,1106,4.861,1267,4.259,1614,5.139,1629,5.951,1861,6.658,1862,6.658,1863,6.658,1864,6.658,1865,6.658,1866,5.139,1867,6.658,1868,6.658,1869,6.658]],["t/137",[41,2.767,66,4.475,605,6.009,719,6.009,991,3.655,1105,4.675,1267,4.301,1643,4.301,1800,5.189,1801,4.675,1870,6.722,1871,6.722,1872,6.722,1873,5.54,1874,6.722,1875,6.722,1876,6.722,1877,6.722]],["t/139",[0,0.595,32,1.685,36,1.448,41,2.456,66,3.973,96,2.854,100,2.996,128,2.923,179,4.606,294,4.708,334,4.606,991,4.151,1105,4.151,1267,4.884,1400,2.668,1507,2.234,1603,3.973,1614,4.606,1800,4.606,1801,4.151,1845,4.918,1846,5.335,1847,5.335,1878,5.968,1879,5.968,1880,5.968,1881,5.968,1882,5.968]],["t/142",[0,0.572,11,1.4,14,2.261,45,1.994,48,1.676,58,1.142,62,3.605,68,2.187,88,1.543,125,1.847,149,1.676,202,1.628,216,1.369,221,2.083,222,1.504,225,1.258,227,1.432,238,1.4,239,3.766,240,1.847,261,1.961,270,2.187,271,2.312,272,1.369,274,2.083,324,2.083,331,3.605,351,2.312,356,0.772,371,1.785,417,2.694,424,1.994,427,2.88,463,1.676,479,2.468,502,2.187,534,2.312,535,2.468,536,1.467,549,3.248,564,0.901,568,1.543,601,1.916,612,2.468,614,2.083,634,1.728,643,1.847,673,3.848,721,1.994,874,4.733,965,2.083,973,1.717,997,2.468,1001,2.468,1038,2.468,1105,2.083,1106,2.187,1267,1.916,1275,2.312,1278,4.496,1366,2.312,1370,3.992,1371,2.312,1378,2.083,1382,1.994,1393,2.678,1427,2.678,1472,1.994,1473,1.994,1603,1.994,1638,2.312,1645,2.678,1773,2.468,1842,2.678,1848,2.678,1883,2.678,1884,2.678,1885,2.468,1886,2.995,1887,4.67,1888,4.67,1889,2.995,1890,2.995,1891,2.995,1892,4.175,1893,2.678,1894,2.678,1895,2.995,1896,2.995,1897,2.995,1898,2.995,1899,4.67,1900,5.342,1901,2.995,1902,2.995,1903,2.995,1904,2.678,1905,2.995,1906,2.995,1907,2.995,1908,2.995,1909,2.678,1910,2.995,1911,2.678]],["t/144",[0,0.633,13,2.015,14,2.217,16,2.015,37,1.887,41,1.006,88,2.046,96,1.9,104,1.7,124,1.253,149,1.368,187,1.994,203,1.628,219,2.223,220,1.368,225,2.107,227,2.763,238,1.142,239,2.859,240,1.508,253,2.015,255,2.901,256,1.7,257,1.887,259,1.887,261,2.669,263,1.564,265,3.551,296,1.508,300,1.785,318,1.564,331,1.887,353,1.75,356,2.095,377,1.564,413,2.015,417,2.292,432,1.368,450,0.968,456,1.785,474,4.42,479,2.015,502,1.785,536,1.197,549,1.7,565,1.7,568,1.259,614,1.7,634,1.411,638,2.901,669,2.015,673,2.015,694,1.564,754,1.564,904,1.887,926,4.761,965,1.7,970,3.066,971,1.411,973,1.845,991,1.329,1001,2.015,1042,3.551,1273,2.185,1278,1.564,1347,1.117,1350,1.508,1356,1.293,1359,2.901,1370,2.763,1371,1.887,1378,1.7,1382,1.628,1474,1.785,1480,2.015,1515,2.015,1518,3.066,1561,2.185,1562,1.628,1603,1.628,1605,1.411,1606,2.185,1639,1.785,1720,2.015,1731,2.015,1758,1.887,1773,2.015,1788,1.508,1883,2.185,1884,2.185,1885,2.015,1892,3.551,1900,2.015,1904,2.185,1909,2.185,1912,2.185,1913,5.778,1914,2.445,1915,1.785,1916,2.901,1917,2.541,1918,2.445,1919,3.274,1920,3.551,1921,2.445,1922,5.018,1923,1.7,1924,1.564,1925,2.445,1926,2.185,1927,2.445,1928,2.445,1929,2.445,1930,2.445,1931,2.185,1932,2.185,1933,2.445,1934,2.185,1935,2.445,1936,2.185,1937,2.445,1938,2.445,1939,3.551,1940,2.445,1941,2.445,1942,2.445,1943,2.445,1944,2.445,1945,2.445,1946,1.887]],["t/146",[0,0.67,57,2.942,78,3.655,124,2.121,142,3.879,216,4.061,391,3.555,632,4.908,667,2.612,1450,3.072,1512,4.475,1715,5.54,1947,6.722,1948,5.476,1949,6.009]],["t/148",[0,0.69,78,3.765,124,2.185,142,3.995,183,3.662,235,2.795,491,5.056,492,3.875,1064,1.925,1512,4.61,1725,4.43,1950,6.924,1951,6.924,1952,5.056,1953,6.924]],["t/150",[14,1.231,52,2.35,57,1.545,78,1.919,81,5.262,124,2.387,125,2.177,126,2.35,142,3.056,176,1.976,183,2.801,192,2.578,211,2.35,216,2.904,219,1.976,220,1.976,235,1.425,353,1.231,356,2.047,391,1.867,436,2.037,446,1.976,449,2.578,491,5.156,552,2.801,564,1.061,590,2.455,721,2.35,1084,2.455,1344,2.259,1355,2.259,1395,1.21,1400,1.578,1453,2.259,1465,1.729,1466,2.35,1512,4.231,1513,2.35,1518,2.725,1520,2.909,1700,2.909,1725,2.259,1745,5.237,1746,4.734,1747,4.42,1748,3.156,1749,2.909,1750,2.909,1751,2.909,1752,2.909,1753,2.909,1756,2.909,1923,3.683,1948,3.526,1954,3.531,1955,3.156,1956,2.578,1957,4.231,1958,2.909,1959,5.296,1960,3.531,1961,3.531,1962,3.531,1963,3.156,1964,3.531,1965,2.578,1966,3.156,1967,3.531,1968,3.388,1969,2.578,1970,2.725,1971,2.909,1972,4.364,1973,3.266,1974,2.259]],["t/152",[85,2.481,219,1.996,220,1.996,225,2.685,240,3.943,251,2.604,272,1.63,310,2.753,324,2.481,353,1.244,356,1.958,384,2.058,391,1.886,424,3.553,450,1.412,467,6.155,468,4.935,477,2.604,490,3.189,491,3.897,552,3.382,564,1.605,597,1.886,634,2.058,684,2.058,697,1.886,703,2.939,835,2.753,925,4.119,970,2.753,973,1.312,1022,2.282,1066,3.189,1214,2.375,1280,2.939,1355,2.282,1400,1.594,1476,2.753,1477,2.939,1479,2.753,1594,3.189,1643,2.282,1745,2.939,1749,2.939,1750,2.939,1751,2.939,1752,2.939,1753,2.939,1756,2.939,1915,2.604,1924,2.282,1966,3.189,1968,4.541,1975,3.189,1976,5.337,1977,3.567,1978,3.567,1979,3.567,1980,5.337,1981,4.398,1982,3.567,1983,4.771,1984,3.553,1985,5.337,1986,3.567,1987,3.567,1988,3.567,1989,3.567,1990,3.567,1991,3.189,1992,6.394,1993,3.567,1994,3.567,1995,3.567,1996,3.189,1997,3.567,1998,3.567]],["t/154",[36,1.733,52,4.753,183,3.775,216,3.262,273,3.584,1788,4.402,1949,6.381,1969,5.212,1970,5.51,1973,4.402,1999,7.139,2000,5.883]],["t/156",[0,0.887,20,5.339,36,1.461,124,1.899,216,2.751,353,2.678,356,2.178,450,2.383,1072,4.396,1347,2.751,1348,4.647,1350,3.712,1788,4.734,1917,3.851,2001,5.382,2002,4.961,2003,6.02,2004,6.02,2005,7.677,2006,6.02,2007,6.02]],["t/158",[0,0.656,27,1.965,36,1.159,57,2.88,124,1.506,169,3.921,183,2.524,211,3.178,216,3.441,353,1.665,356,2.269,632,5.5,661,3.684,799,3.485,1072,3.485,1344,3.054,1603,3.178,1643,3.054,1672,2.844,1917,3.054,1948,3.178,1952,3.485,1968,5.194,1969,3.485,1970,3.684,1971,3.934,1973,4.058,2000,3.934,2008,4.267,2009,6.581,2010,4.267,2011,4.267,2012,4.774,2013,3.934,2014,4.267,2015,3.934,2016,4.774,2017,4.774,2018,4.774,2019,4.774,2020,4.267,2021,4.774,2022,4.774]],["t/160",[0,0.663,5,2.062,32,0.754,36,1.036,71,2.388,79,1.308,81,1.858,85,2.967,115,2.388,124,2.237,131,2.841,153,2.062,183,1.413,203,1.778,208,1.647,211,1.778,216,3.038,261,1.122,353,0.932,356,1.827,387,3.516,388,1.951,421,2.062,450,1.058,477,1.951,500,1.858,564,0.803,590,2.967,597,1.413,632,5.965,667,1.038,715,1.951,758,2.388,799,1.951,822,4.762,823,2.201,824,2.388,925,2.062,1022,1.709,1077,2.388,1336,2.388,1400,1.194,1412,3.516,1447,3.115,1503,1.778,1534,1.951,1603,1.778,1672,2.542,1885,2.201,1969,5.176,1970,4.112,1971,6.131,1972,3.516,1973,3.751,1974,1.709,1975,2.388,2001,2.388,2002,3.516,2010,6.337,2011,2.388,2020,2.388,2023,2.671,2024,2.671,2025,2.201,2026,2.671,2027,2.671,2028,2.671,2029,2.671,2030,2.671,2031,2.671,2032,2.671,2033,2.671,2034,2.671,2035,2.671,2036,2.671,2037,4.267,2038,2.671,2039,2.671,2040,2.671,2041,2.671,2042,2.671,2043,6.649,2044,2.671,2045,2.671,2046,2.671,2047,2.671,2048,2.671,2049,2.671,2050,2.671,2051,2.671,2052,2.388,2053,2.388,2054,2.671,2055,4.267,2056,2.671,2057,2.671,2058,2.062,2059,2.671,2060,2.671,2061,4.267,2062,2.671,2063,2.671,2064,2.671,2065,2.388,2066,2.671,2067,2.671,2068,2.671]],["t/162",[0,0.734,58,2.809,106,4.905,124,2.742,303,4.905,516,4.39,1369,5.123,1983,6.585]],["t/164",[0,0.831,11,1.891,14,1.412,58,2.876,88,2.084,124,2.171,168,1.666,219,3.852,222,2.032,225,2.459,226,3.124,227,3.291,235,1.633,239,2.459,240,3.611,256,2.815,261,1.699,291,3.124,353,2.043,356,2.27,436,2.335,450,2.319,474,2.815,599,2.815,638,2.955,1041,2.694,1084,2.815,1347,2.676,1355,3.747,1356,3.097,1453,2.589,1473,3.899,1501,3.618,1511,3.124,1552,3.618,1731,3.335,1916,2.955,1917,3.747,1919,3.335,1920,3.618,1934,3.618,1936,3.618,2069,4.047,2070,4.047,2071,4.52,2072,4.52,2073,4.047,2074,4.047,2075,4.826,2076,4.047,2077,3.335,2078,4.047]],["t/166",[51,5.567,59,4.615,142,4.162,218,5.017,219,4.037,1786,5.567,1917,4.615,2079,6.448,2080,8.582,2081,6.448]],["t/168",[0,0.893,58,2.96,104,4.261,124,1.933,238,2.863,239,2.573,240,3.778,253,5.049,255,4.474,353,2.137,356,2.196,643,3.778,695,4.474,1347,2.799,1356,3.24,1786,4.729,1916,4.474,2071,4.729,2072,4.729,2082,5.477,2083,5.477,2084,6.127]],["t/170",[0,0.729,14,1.578,45,3.012,58,1.725,88,2.33,104,3.146,117,2.61,218,3.146,219,2.532,222,2.271,227,2.163,235,1.826,238,2.114,255,3.303,256,3.146,261,1.899,267,3.303,353,1.578,356,2.375,412,2.894,417,4.577,436,2.61,477,3.303,516,2.695,564,1.36,1347,2.067,1356,3.353,1366,3.492,1450,2.067,1473,5.281,1514,4.221,1524,5.649,1672,2.695,1757,3.728,1763,3.728,1792,4.044,1917,2.894,2071,3.492,2072,3.492,2079,4.044,2083,4.044,2085,4.524,2086,4.524,2087,4.524,2088,4.524,2089,4.524,2090,4.044,2091,4.524]],["t/172",[0,0.836,32,2.082,58,1.748,88,2.36,124,2.019,145,2.424,149,2.565,187,2.301,218,3.188,219,3.581,224,2.731,238,2.142,239,2.687,261,1.925,288,3.188,353,1.599,356,1.899,382,4.097,391,2.424,532,3.188,549,3.188,566,3.188,589,3.347,690,3.052,695,3.347,779,3.538,1084,3.188,1213,3.538,1278,4.093,1283,3.538,1347,2.094,1356,2.424,1366,3.538,1370,3.188,1371,3.538,1382,3.052,1384,3.777,1672,2.731,1783,3.538,1786,3.538,1845,3.777,1911,4.097,1915,3.347,1916,3.347,2071,3.538,2072,3.538,2081,5.72,2082,4.097,2090,4.097,2092,4.584,2093,4.584,2094,4.584,2095,4.584]],["t/175",[0,0.856,178,4.554,227,3.755,353,2.176,356,2.023,384,3.599,385,3.599,417,3.599,450,3.108,564,1.875,614,4.338,643,3.846,721,4.152,971,3.599,1347,2.85,1356,3.298,1564,5.576,1636,4.814,1759,5.576,1917,3.99,2096,6.237]],["t/177",[0,0.853,224,4.652,263,3.955,353,2.156,356,2.389,393,3.812,599,5.43,1347,2.824,1438,6.248,2075,5.094,2097,7.807,2098,6.182,2099,5.526,2100,5.526,2101,6.182,2102,5.526]],["t/179",[0,0.754,17,2.972,32,1.15,45,2.71,78,2.213,79,1.994,124,2.179,187,2.044,227,1.947,239,1.709,274,2.831,290,3.355,294,2.51,296,2.51,353,2.409,356,2.067,377,2.604,391,2.153,460,4.54,463,2.278,492,2.278,500,2.831,566,2.831,577,2.426,589,2.972,614,4.09,671,2.604,690,2.71,710,3.355,754,2.604,855,3.355,1072,2.972,1139,3.355,1278,2.604,1347,1.86,1349,3.355,1350,2.51,1351,3.355,1356,2.153,1376,3.639,1384,4.847,1414,3.639,1473,2.71,1517,3.639,1595,3.142,1601,2.71,1647,3.639,1672,2.426,1726,3.639,1758,3.142,1763,3.355,1788,2.51,1873,3.355,1900,3.355,1917,2.604,1919,3.355,1926,3.639,1931,3.639,1932,3.639,1946,3.142,2103,4.071,2104,3.355,2105,3.355,2106,4.071,2107,2.972,2108,4.071,2109,4.071,2110,4.071,2111,4.071,2112,4.071,2113,4.071]],["t/181",[0,0.67,36,1.632,432,3.762,808,4.006,973,2.472,1064,2.287,1153,4.006,1271,6.009,1345,2.823,1396,2.612,1450,3.072,1466,4.475,1642,4.908,1762,2.266,1844,6.009,2114,6.009,2115,6.009]],["t/183",[96,3.038,263,4.064,930,5.234,1450,3.959,1460,4.903,1461,5.081,1463,6.13,1466,5.768,1490,5.678,1700,5.234,1712,4.903,2116,6.352,2117,6.352,2118,5.678,2119,5.678,2120,6.352,2121,6.352,2122,6.352]],["t/185",[54,4.368,55,4.368,393,3.99,975,5.332,1110,4.725,1392,3.856,1450,3.671,1466,5.349,1620,5.388,1650,4.14,1651,5.14,2123,6.471,2124,6.471,2125,6.471,2126,6.471]],["t/187",[0,0.778,32,1.746,36,1.5,38,5.094,57,2.705,96,2.956,106,4.115,121,4.771,128,3.028,142,3.567,165,3.683,246,4.514,539,5.526,543,4.771,1461,3.955,1466,4.115,1605,3.567,1666,5.094,2127,5.094,2128,5.094,2129,3.361,2130,4.514,2131,4.771,2132,4.771,2133,6.182,2134,4.771]],["t/190",[0,0.794,27,2.192,58,3.037,144,3.703,219,3.966,227,3.389,303,3.545,353,1.857,356,1.826,385,4.089,564,2.131,621,3.284,718,4.388,928,4.388,1347,2.433,1350,3.284,1400,2.38,1440,3.545,1472,3.545,1539,4.388,2104,4.388,2105,4.388,2107,3.888,2132,4.11,2135,5.325,2136,5.325,2137,8.492,2138,4.76,2139,5.325,2140,5.325,2141,5.325,2142,4.76,2143,3.888]],["t/192",[0,0.93,32,1.539,58,3.398,128,2.67,303,4.792,353,2.511,356,2.209,412,3.487,564,1.639,667,2.117,971,3.145,1347,3.289,1440,3.629,1514,4.792,1894,4.872,1915,3.98,2107,3.98,2132,5.555,2144,5.451,2145,5.451,2146,5.451,2147,5.451,2148,5.451,2149,5.451]],["t/194",[0,0.828,134,5.319,207,4.163,224,4.622,263,4.377,303,3.364,311,3.689,353,1.762,356,2.239,393,3.116,507,3.514,599,5.395,667,1.963,1347,2.309,1438,6.07,1452,4.163,1453,3.232,1514,3.364,1643,3.232,1715,4.163,1963,4.517,2075,4.163,2099,4.517,2100,4.517,2102,4.517,2132,3.9,2150,7.757,2151,5.053,2152,4.517,2153,5.053,2154,5.053,2155,5.053]],["t/196",[0,0.527,58,2.689,124,1.667,134,5.416,183,2.794,303,3.518,321,3.049,339,3.858,353,1.843,356,1.817,371,3.149,426,4.724,568,2.721,603,3.518,658,3.258,707,4.724,971,3.049,1101,4.354,1199,4.354,1276,4.724,1400,2.362,1479,4.078,1548,4.724,1672,3.149,2156,7.051,2157,7.051,2158,7.935,2159,5.284,2160,5.284,2161,5.284,2162,6.303,2163,4.724,2164,5.284,2165,5.284,2166,5.284,2167,5.284]],["t/198",[0,0.59,56,4.876,58,2.895,129,4.32,216,2.704,353,2.064,356,2.279,360,4.32,971,3.414,1400,2.645,1440,3.939,2162,6.787,2163,5.289,2168,5.917,2169,5.917,2170,5.917,2171,5.917,2172,7.593,2173,5.917,2174,5.917,2175,5.917,2176,5.917,2177,5.917,2178,5.917,2179,4.32,2180,5.917]],["t/201",[0,0.725,36,1.971,73,3.543,208,3.415,401,4.564,449,4.044,478,4.951,552,2.929,564,2.593,670,5.311,762,4.274,1064,1.54,1197,2.073,1289,4.951,1392,3.3,1620,3.415,1762,1.867,1800,4.274,1806,4.044,1939,4.951,1969,4.044,1973,3.415,1974,4.653,2065,4.951,2107,4.044,2181,5.538,2182,7.273,2183,2.78,2184,4.951,2185,5.538,2186,5.538]],["t/203",[0,0.825,36,1.813,107,4.212,119,3.691,208,3.557,216,2.636,220,3.229,358,2.524,412,3.691,500,4.012,590,4.012,762,4.453,988,4.754,1064,1.604,1233,5.157,1344,3.691,1395,2.561,1397,3.329,1643,3.691,1762,1.945,1788,5.403,1952,5.454,2008,5.157,2107,4.212,2187,5.157,2188,5.769,2189,4.754]],["t/205",[0,0.519,5,4.017,36,1.694,78,2.83,168,2.142,171,4.652,208,3.209,216,3.189,310,4.017,319,4.652,412,3.33,432,2.913,435,3.8,667,2.711,971,3.003,1340,5.387,1395,2.393,1476,5.387,1529,4.652,1674,4.652,1788,4.856,1972,5.752,2052,4.652,2058,4.017,2114,4.652,2138,4.652,2190,6.98,2191,7.875,2192,5.205,2193,5.205,2194,5.205,2195,5.205,2196,5.205,2197,5.205,2198,5.205,2199,5.205]],["t/207",[564,2.061,696,6.128,762,5.292,971,3.956,988,5.649,1022,4.386,1072,5.006,1230,6.128,1395,2.351,1466,4.564,1643,4.386,1762,2.311,1974,5.325,2200,6.856,2201,6.856]],["t/209",[0,0.85,36,2.07,100,3.584,432,3.995,973,2.625,1064,1.985,1395,2.448,1396,2.773,1450,3.262,1461,4.567]],["t/211",[973,2.652,991,3.922,1064,2.386,1345,3.029,1396,2.802,1465,3.533,1507,2.701,1762,2.432,2202,5.017,2203,4.802]],["t/213",[0,0.704,36,1.715,973,2.598,1064,1.965,1339,4.914,1345,2.967,1395,2.423,1396,2.745,1507,2.645,1762,2.382,2204,5.159,2205,4.914,2206,4.077]],["t/215",[0,0.89,18,3.504,32,2.18,36,1.874,481,2.715,564,2.321,667,2.359,1048,3.504,1197,2.274,1345,2.55,1395,2.91,1397,4.454,1465,3.781,1469,4.043,1507,2.274,1762,2.047,2183,3.049,2207,3.212,2208,5.004]],["t/217",[0,0.905,27,2.614,36,1.927,100,3.189,107,4.638,174,4.064,353,2.216,358,2.779,384,3.665,440,4.418,564,1.91,624,4.638,1064,2.208,1507,2.378,1762,2.141,2207,3.359,2209,4.418,2210,5.234,2211,5.234]],["t/219",[0,0.868,27,2.335,32,1.602,36,1.794,154,3.778,358,3.596,481,2.537,564,2.222,667,2.204,1064,1.578,1395,2.534,1397,4.264,1465,3.619,1507,2.124,1762,1.913,2183,2.848,2206,4.742,2207,3.001,2209,3.946,2212,5.139,2213,3.946,2214,4.676,2215,4.38,2216,3.946]],["t/221",[176,3.523,235,2.54,358,3.776,384,3.632,492,3.523,568,3.241,667,2.445,951,4.596,973,2.314,1005,4.858,1064,2.399,1197,2.356,1345,2.643,1396,2.445,1469,4.19,1762,2.122,2183,3.16,2206,3.632,2217,5.187,2218,5.187,2219,4.596]],["t/223",[141,2.68,152,3.8,235,2.101,272,3.189,277,3.62,358,3.682,564,1.565,808,3.101,1064,2.34,1380,5.096,1395,2.7,1461,3.33,1482,5.75,1672,3.101,1712,5.387,2118,4.652,2119,4.652,2202,3.62,2212,3.62,2213,3.62,2216,3.62,2220,5.205,2221,5.205,2222,6.934,2223,6.239,2224,4.652,2225,5.205,2226,5.205,2227,5.205,2228,4.017,2229,4.289]],["t/225",[0,0.547,32,1.045,131,2.464,208,2.282,263,3.509,277,4.545,312,2.574,356,2.156,358,1.619,466,3.049,481,1.654,564,1.113,566,2.574,661,2.856,711,3.308,756,2.702,959,3.308,1064,2.01,1197,2.054,1395,3.009,1396,1.438,1397,3.771,1426,3.308,1482,4.005,1513,3.652,1619,2.856,1643,3.509,1658,2.856,1712,5.044,1762,1.247,1783,2.856,2219,2.702,2222,6.36,2223,4.903,2224,4.903,2230,3.701,2231,2.574,2232,3.701,2233,3.701,2234,3.701,2235,3.701,2236,3.701,2237,3.308,2238,3.701,2239,3.701,2240,3.701,2241,7.228,2242,3.701,2243,5.485,2244,5.485,2245,3.701,2246,3.701,2247,6.536,2248,3.701,2249,6.536,2250,5.485,2251,3.701]],["t/227",[0,0.663,14,2.322,32,2.309,36,1.984,128,3.261,168,2.74,175,3.967,436,3.841,446,3.726,481,2.976,671,4.259,1048,3.841,1410,4.105,1450,3.042,1659,4.432,2183,3.342,2252,4.861]],["t/229",[0,0.84,36,2.045,100,3.511,432,3.914,973,2.572,1064,1.945,1395,2.398,1396,2.717,1450,3.196,1620,4.313,1650,4.475,1651,4.475]],["t/231",[973,2.625,991,3.881,1064,2.372,1396,2.773,1465,3.496,1507,2.673,1650,4.567,1651,4.567,1762,2.406,2202,4.965,2203,4.753]],["t/233",[0,0.697,36,1.698,973,2.572,1064,1.945,1339,4.864,1395,2.398,1396,2.717,1507,2.619,1650,4.475,1651,4.475,1762,2.358,2204,5.107,2205,4.864,2206,4.036]],["t/235",[0,0.867,32,1.81,36,1.939,358,2.805,461,4.101,481,2.866,564,1.927,1048,3.699,1197,2.4,1395,2.739,1397,3.699,1465,3.14,1469,4.268,1507,2.4,1723,4.459,1762,2.693,2207,3.39,2253,5.731]],["t/237",[41,2.822,358,3,694,4.386,1197,3.116,1650,4.386,1651,4.386,1723,4.768,1762,2.311,2128,5.649,2129,4.873,2254,4.564,2255,6.128,2256,6.128]],["t/239",[141,3.754,235,2.942,450,2.886,513,5.069,1650,4.663,1651,4.663,2231,6.006,2257,5.626,2258,6.516]],["t/241",[0,0.663,14,2.322,32,2.309,36,1.984,128,3.261,168,2.74,175,3.967,436,3.841,446,3.726,481,2.976,671,4.259,1048,3.841,1410,4.105,1450,3.042,1659,4.432,2183,3.342,2252,4.861]],["t/243",[0,0.845,36,2.057,54,3.841,55,3.841,100,3.547,432,3.954,973,2.598,1064,1.965,1395,2.423,1396,2.745,1450,3.228]],["t/245",[54,3.881,55,3.881,973,2.625,991,3.881,1064,2.372,1396,2.773,1465,3.496,1507,2.673,1762,2.406,2202,4.965,2203,4.753]],["t/247",[0,0.697,36,1.698,54,3.803,55,3.803,973,2.572,1064,1.945,1339,4.864,1395,2.398,1396,2.717,1507,2.619,1762,2.358,2204,5.107,2205,4.864,2206,4.036]],["t/249",[0,0.867,32,1.81,36,1.939,358,2.805,461,4.101,481,2.866,564,1.927,1048,3.699,1197,2.4,1395,2.739,1397,3.699,1465,3.14,1469,4.268,1507,2.4,1723,4.459,1762,2.693,2207,3.39,2253,5.731]],["t/251",[41,2.822,54,3.727,55,3.727,358,3,694,4.386,1197,3.116,1723,4.768,1762,2.311,2128,5.649,2129,4.873,2254,4.564,2255,6.128,2256,6.128]],["t/253",[54,3.963,55,3.963,141,3.754,235,2.942,450,2.886,513,5.069,2231,6.006,2257,5.626,2258,6.516]],["t/255",[0,0.663,14,2.322,32,2.309,36,1.984,128,3.261,168,2.74,175,3.967,436,3.841,446,3.726,481,2.976,671,4.259,1048,3.841,1410,4.105,1450,3.042,1659,4.432,2183,3.342,2252,4.861]],["t/257",[0,0.719,53,5.267,57,3.156,58,2.751,79,3.533,174,4.615,229,6.448,621,4.448,2130,5.267,2259,6.448,2260,6.448]],["t/259",[0,0.5,32,1.416,34,2.399,57,3.382,58,2.947,72,3.871,73,3.209,117,2.894,126,3.339,127,4.735,174,3.209,235,2.024,280,4.133,288,3.488,358,2.195,377,3.209,664,4.133,1075,4.484,1340,3.871,1405,3.093,1441,3.488,1586,3.662,1595,3.871,1642,3.662,1747,3.488,1806,3.662,2130,5.643,2205,3.488,2219,3.662,2259,6.909,2260,4.484,2261,5.016,2262,5.016,2263,5.016,2264,5.016,2265,4.484,2266,6.086,2267,6.808,2268,4.484,2269,4.133,2270,5.016,2271,4.133]],["t/261",[58,2.751,165,4.298,174,4.615,1507,2.701,1531,5.944,1532,4.802,1586,5.267,1676,5.944,1728,5.944,2272,7.213,2273,7.213]],["t/263",[2,4.689,57,3.183,78,3.011,175,3.3,183,2.929,252,4.044,412,3.543,858,4.564,919,4.564,1165,4.951,1507,2.073,1912,4.951,2014,4.951,2130,6.297,2274,5.538,2275,7.273,2276,5.538,2277,5.538,2278,5.538,2279,5.538,2280,7.273,2281,7.273,2282,7.273,2283,8.625,2284,5.538,2285,5.538]],["t/265",[0,0.616,48,3.46,75,4.771,78,3.361,79,3.028,236,4.299,272,2.824,284,5.526,415,5.094,513,5.43,514,5.526,515,4.771,658,3.812,667,2.401,1571,5.526,1616,5.526,1658,4.771,1677,4.771,2130,4.514,2286,7.807,2287,6.182,2288,6.182,2289,6.182,2290,5.526,2291,6.182]],["t/267",[0,0.651,34,3.124,79,3.199,96,3.124,117,3.769,127,4.543,134,4.179,165,3.892,273,3.279,435,4.769,507,4.543,1419,4.769,1451,5.839,1461,4.179,1605,3.769,1725,4.179,1873,5.383,2237,5.839,2271,5.383,2292,6.532,2293,4.769]],["t/269",[0,0.69,34,3.311,57,3.03,78,3.765,168,2.85,658,4.27,684,3.995,1461,4.43,1747,4.816,1924,4.43,1956,5.056,2294,6.924,2295,5.344,2296,6.19,2297,6.924]],["t/271",[0,0.547,21,4.012,57,2.404,96,4.112,123,4.527,126,3.658,134,5.176,149,3.075,165,4.311,169,3.274,170,5.283,174,3.515,206,4.241,216,3.306,387,4.527,1419,4.012,1434,4.527,1512,3.658,1513,3.658,1514,3.658,1605,4.175,1642,4.012,1648,4.911,1725,3.515,1728,4.527,2053,4.911,2271,4.527,2298,5.494,2299,5.494,2300,5.494,2301,4.911,2302,5.494]],["t/275",[53,4.638,69,4.903,96,3.798,165,5.163,513,4.418,1601,4.229,1605,3.665,1676,5.234,1677,4.903,2129,3.453,2134,4.903,2303,7.099,2304,7.099,2305,6.352,2306,5.678,2307,5.234,2308,6.352,2309,5.678,2310,5.678]],["t/277",[11,2.915,32,1.761,1197,2.335,1354,5.227,1454,5.14,1562,4.152,1677,4.814,1685,5.576,2129,5.159,2183,3.131,2307,7.431,2311,6.237,2312,7.852,2313,5.576,2314,6.237,2315,6.237]],["t/279",[4,4.543,11,3.052,142,4.662,216,2.984,321,3.769,432,3.656,564,1.964,1197,2.445,1723,4.543,2129,4.77,2307,7.23,2316,6.532,2317,6.532,2318,8.081,2319,5.042]],["t/281",[127,5.032,244,3.515,385,3.17,1186,3.821,1197,2.057,1400,3.234,1405,3.388,1439,4.527,1441,5.032,1447,4.012,1472,3.658,1642,4.012,2129,3.934,2222,4.527,2265,4.911,2309,7.987,2320,8.598,2321,5.494,2322,5.494,2323,5.494,2324,5.494,2325,5.494,2326,4.911,2327,5.494,2328,7.235,2329,5.494,2330,5.494,2331,5.494,2332,5.494]],["t/283",[11,2.915,32,1.761,141,3.212,145,3.298,225,2.619,991,3.391,1009,6.47,1354,4.152,1395,2.139,1419,4.554,1454,5.14,1505,5.576,1671,5.14,1783,4.814,2310,7.681,2313,5.576,2319,4.814,2333,6.237,2334,6.237,2335,7.852,2336,7.852]],["t/285",[69,4.38,96,3.93,141,2.922,165,4.403,235,2.29,277,3.946,356,1.462,417,3.274,477,4.143,492,3.176,511,5.072,512,5.072,667,2.204,1064,1.578,1197,2.124,1395,2.534,1396,2.204,1539,4.676,1605,3.274,2266,5.072,2268,5.072,2303,5.072,2304,5.072,2306,5.072,2337,5.674,2338,7.39,2339,5.674,2340,5.674,2341,5.674,2342,5.674,2343,5.674,2344,5.674]],["t/287",[0,0.85,36,2.07,100,3.584,432,3.995,973,2.625,1064,1.985,1395,2.448,1396,2.773,1450,3.262,1463,5.51]],["t/289",[973,2.652,991,3.922,1064,2.386,1345,3.029,1396,2.802,1465,3.533,1507,2.701,1762,2.432,2202,5.017,2203,4.802]],["t/291",[0,0.704,36,1.715,973,2.598,1064,1.965,1339,4.914,1345,2.967,1395,2.423,1396,2.745,1507,2.645,1762,2.382,2204,5.159,2205,4.914,2206,4.077]],["t/293",[0,0.887,18,3.473,32,2.168,36,1.863,481,2.691,564,2.308,667,2.339,1048,3.473,1197,2.254,1345,2.528,1395,2.898,1397,4.429,1465,3.76,1507,2.254,1762,2.029,2183,3.022,2207,4.06,2208,4.961,2269,4.961]],["t/295",[0,0.829,27,2.822,36,1.664,353,2.391,358,3,384,3.956,564,2.061,624,5.006,1064,2.315,1507,2.567,1762,2.311,2209,4.768,2210,5.649,2211,5.649]],["t/297",[0,0.868,27,2.335,32,1.602,36,1.794,154,3.778,358,3.596,481,2.537,564,2.222,667,2.204,1064,1.578,1395,2.534,1397,4.264,1465,3.619,1507,2.124,1762,1.913,2183,2.848,2206,4.742,2207,3.001,2209,3.946,2212,5.139,2213,3.946,2214,4.676,2215,4.38,2216,3.946]],["t/299",[176,3.491,235,2.517,358,3.76,384,3.599,492,3.491,568,3.212,667,2.423,951,4.554,973,2.293,1005,4.814,1064,2.389,1197,2.335,1345,2.619,1396,2.423,1762,2.103,2183,3.131,2206,3.599,2207,3.298,2217,5.14,2218,5.14,2219,4.554,2269,5.14]],["t/301",[141,3.429,152,4.861,358,3.872,1064,2.566,1197,2.493,1482,4.861,1619,5.139,2203,4.432,2212,4.63,2213,4.63,2216,4.63,2229,5.486,2345,5.951,2346,5.951]],["t/303",[0,0.663,14,2.322,32,2.309,36,1.984,128,3.261,168,2.74,175,3.967,436,3.841,446,3.726,481,2.976,671,4.259,1048,3.841,1410,4.105,1450,3.042,1659,4.432,2183,3.342,2252,4.861]],["t/305",[0,0.759,41,2.006,52,3.245,57,2.133,97,2.904,124,2.106,169,2.904,202,2.65,211,3.245,222,2.447,233,4.357,246,5.56,251,3.559,381,3.852,450,1.93,563,3.559,564,1.466,684,4.726,1345,2.047,1400,2.179,1511,3.762,1512,3.245,1586,3.559,1589,3.39,1620,3.006,1924,5.489,1955,4.357,1956,3.559,1957,5.07,1958,4.017,1965,3.559,1984,3.245,2347,4.874,2348,4.357,2349,4.874,2350,4.874,2351,4.874,2352,4.874,2353,4.874,2354,4.874,2355,4.017,2356,4.874]],["t/307",[0,0.878,168,3.627,225,2.769,667,2.562,1194,4.586,1345,2.769,1399,3.929,1401,4.791,1403,3.805,1404,4.586,1406,4.815,1762,2.223,2129,3.585,2357,5.895]],["t/309",[0,0.59,24,3.939,58,3.197,106,3.939,226,4.567,239,2.485,240,3.649,243,5.281,385,4.381,544,3.649,564,1.779,621,3.649,1024,5.289,1399,3.526,1400,3.394,1438,4.32,1440,3.939,1441,4.115,1525,4.876,1590,4.876,1591,5.289,1592,5.289,1671,4.876,1672,3.526,1893,5.289,2358,5.917,2359,5.917]],["t/311",[0,0.621,17,3.225,52,1.857,54,1.517,55,1.517,58,2.377,126,1.857,141,1.437,202,2.401,206,2.153,211,1.857,222,2.217,243,4.335,246,2.037,264,2.299,356,2.379,450,1.105,467,2.153,516,1.662,563,2.037,597,1.475,599,1.94,684,3.919,690,1.857,754,3.988,835,3.409,971,1.61,1106,2.037,1197,2.938,1354,2.94,1386,2.494,1402,4.15,1456,4.517,1507,1.654,1511,2.153,1512,1.857,1562,1.857,1620,1.72,1632,2.299,1654,4.003,1668,4.517,1924,3.507,1956,5.275,1957,1.857,1965,4.552,1968,1.785,1984,1.857,1991,2.494,1996,2.494,2129,3.928,2134,3.409,2207,2.899,2228,4.812,2254,4.15,2319,5.243,2360,4.517,2361,2.494,2362,5.137,2363,2.494,2364,5.573,2365,2.79,2366,2.79,2367,2.79,2368,2.79,2369,2.153,2370,2.494,2371,2.494,2372,2.79,2373,2.494,2374,3.948]],["t/313",[0,0.824,97,4.045,116,6.068,119,4.343,217,4.721,220,3.799,224,4.045,246,6.042,632,4.957,684,4.774,1345,2.85,1965,4.957,2375,6.788,2376,6.788]],["t/315",[0,0.85,36,2.07,100,3.584,432,3.995,973,2.625,1064,1.985,1395,2.448,1396,2.773,1450,3.262,1460,5.51]],["t/317",[973,2.652,991,3.922,1064,2.386,1345,3.029,1396,2.802,1465,3.533,1507,2.701,1762,2.432,2202,5.017,2203,4.802]],["t/319",[0,0.704,36,1.715,973,2.598,1064,1.965,1339,4.914,1345,2.967,1395,2.423,1396,2.745,1507,2.645,1762,2.382,2204,5.159,2205,4.914,2206,4.077]],["t/321",[0,0.89,18,3.504,32,2.18,36,1.874,481,2.715,564,2.321,667,2.359,1048,3.504,1197,2.274,1345,2.55,1395,2.91,1397,4.454,1465,3.781,1469,4.043,1507,2.274,1762,2.047,2183,3.049,2207,3.212,2208,5.004]],["t/323",[0,0.905,27,2.614,36,1.927,100,3.189,107,4.638,174,4.064,353,2.216,358,2.779,384,3.665,440,4.418,564,1.91,624,4.638,1064,2.208,1507,2.378,1762,2.141,2207,3.359,2209,4.418,2210,5.234,2211,5.234]],["t/325",[0,0.868,27,2.335,32,1.602,36,1.794,154,3.778,358,3.596,481,2.537,564,2.222,667,2.204,1064,1.578,1395,2.534,1397,4.264,1465,3.619,1507,2.124,1762,1.913,2183,2.848,2206,4.742,2207,3.001,2209,3.946,2212,5.139,2213,3.946,2214,4.676,2215,4.38,2216,3.946]],["t/327",[176,3.523,235,2.54,358,3.776,384,3.632,492,3.523,568,3.241,667,2.445,951,4.596,973,2.314,1005,4.858,1064,2.399,1197,2.356,1345,2.643,1396,2.445,1469,4.19,1762,2.122,2183,3.16,2206,3.632,2217,5.187,2218,5.187,2219,4.596]],["t/329",[141,3.212,152,4.554,358,3.76,564,1.875,1064,2.638,1197,2.335,1395,2.692,1482,4.554,1619,4.814,2203,4.152,2212,4.338,2213,4.338,2216,4.338,2229,5.14,2345,5.576,2346,5.576,2377,6.237,2378,6.237]],["t/331",[0,0.663,14,2.322,32,2.309,36,1.984,128,3.261,168,2.74,175,3.967,436,3.841,446,3.726,481,2.976,671,4.259,1048,3.841,1410,4.105,1450,3.042,1659,4.432,2183,3.342,2252,4.861]],["t/333",[34,3.523,35,3.794,128,3.608,235,2.973,273,3.698,450,2.917,732,5.686,1540,5.379,2127,6.071]],["t/335",[14,1.75,34,2.399,35,3.506,117,2.894,128,2.457,139,3.339,145,2.653,188,4.133,202,2.727,272,2.292,273,2.518,356,1.292,1041,3.339,1328,4.133,1380,3.662,1381,3.488,1385,3.209,1503,3.339,1504,3.488,1534,4.971,1536,3.488,1540,3.662,1609,3.871,1732,5.255,2025,4.133,2131,3.871,2296,4.484,2379,5.016,2380,5.016,2381,4.484,2382,5.016,2383,5.016,2384,5.61,2385,4.484,2386,3.871,2387,4.133,2388,4.484,2389,4.133,2390,4.133,2391,4.484,2392,5.016,2393,5.61,2394,4.484,2395,4.484,2396,4.484,2397,4.484,2398,5.016,2399,4.133]],["t/337",[41,2.335,59,3.63,63,3.381,157,4.676,200,3.778,203,3.778,244,4.728,249,4.38,261,2.383,356,1.462,420,4.143,449,4.143,615,4.38,1250,5.072,1298,5.072,1422,4.676,1532,3.778,1601,3.778,2355,4.676,2400,6.09,2401,7.39,2402,6.606,2403,5.072,2404,5.072,2405,5.072,2406,4.38,2407,5.072,2408,5.072,2409,5.072,2410,5.072,2411,5.072,2412,5.674,2413,5.674]],["t/339",[58,2.316,93,4.043,118,5.004,119,3.885,124,1.916,261,2.55,356,1.565,420,4.434,450,2.404,1345,2.55,1369,4.224,1400,2.715,1540,4.434,1605,3.504,1948,4.043,2131,4.687,2179,5.637,2184,5.429,2386,4.687,2414,6.073,2415,5.429,2416,4.687,2417,5.429,2418,4.687,2419,4.687,2420,6.073,2421,6.073,2422,6.073]],["t/341",[32,1.746,35,3.183,97,3.683,168,2.544,200,5.198,273,3.103,356,1.593,381,3.567,440,4.299,449,4.514,1345,2.596,1400,2.763,1589,4.299,1601,4.115,1725,3.955,1923,5.43,1948,4.115,1957,5.198,1968,3.955,2131,4.771,2143,4.514,2207,3.269,2405,5.526,2423,6.182]],["t/343",[0,0.585,14,2.046,34,3.611,35,3.889,128,2.873,139,3.906,272,2.681,1041,3.906,1380,4.284,1385,3.753,1392,3.496,1503,3.906,1504,4.08,1506,4.528,1534,5.514,1535,5.245,1536,4.08,1639,4.284,1670,5.245,2187,5.245,2301,5.245,2386,4.528,2393,4.835,2424,5.867,2425,5.867,2426,5.867,2427,5.245,2428,5.867,2429,5.867,2430,5.867]],["t/345",[14,1.996,32,1.616,34,2.736,35,2.946,39,3.809,113,5.114,145,3.929,196,6.122,259,4.416,273,2.872,414,5.114,552,3.026,1385,3.66,1503,3.809,1504,3.979,1639,4.177,1656,5.114,1722,5.114,1732,4.416,2381,6.642,2384,4.715,2385,5.114,2399,4.715,2431,5.721,2432,5.721,2433,5.721,2434,5.721,2435,5.721,2436,5.721,2437,5.721,2438,5.721,2439,5.721,2440,5.721]],["t/347",[34,2.854,35,3.073,100,2.996,196,4.918,202,3.245,273,2.996,412,3.818,1166,6.825,1380,5.575,1385,3.818,1503,3.973,1504,4.151,1609,4.606,1766,5.335,2290,5.335,2386,4.606,2387,4.918,2388,5.335,2389,4.918,2390,4.918,2391,5.335,2441,5.968,2442,5.335,2443,5.968,2444,5.968,2445,5.968,2446,5.968,2447,5.968,2448,5.335]],["t/349",[34,3.611,35,3.889,83,4.835,100,2.945,139,3.906,273,2.945,329,4.835,667,2.279,924,4.528,1041,3.906,1345,2.463,1385,3.753,1536,4.08,1622,4.835,2025,4.835,2390,4.835,2393,6.881,2394,5.245,2395,5.245,2396,5.245,2449,4.835,2450,5.867,2451,5.867,2452,5.867,2453,5.245,2454,5.867,2455,5.867,2456,5.867,2457,5.867]],["t/351",[32,1.602,34,2.714,35,2.922,188,4.676,190,5.072,193,5.072,273,2.848,552,3.001,1041,3.778,1062,4.676,1382,3.778,1385,4.728,1403,3.274,1536,3.946,1540,4.143,1620,3.499,1624,5.072,1638,4.38,1725,3.63,1732,4.38,2000,4.676,2104,4.676,2384,4.676,2397,5.072,2399,6.09,2427,6.606,2442,5.072,2458,5.674,2459,5.674,2460,5.674,2461,5.674,2462,5.674,2463,5.674,2464,5.674]],["t/353",[14,2.391,34,3.279,35,3.531,48,3.837,139,4.564,273,3.441,1381,4.768,1385,4.386,1503,4.564,1504,4.768,1534,5.006,1536,4.768,1658,5.292,2465,6.856,2466,6.856,2467,6.856]],["t/355",[0,0.575,2,3.136,41,3.074,88,2.971,117,3.329,450,2.284,564,1.734,1450,2.636,1472,3.841,1984,3.841,2179,6.397,2257,4.453,2415,5.157,2416,6.394,2418,4.453,2419,4.453,2449,4.754,2468,5.769,2469,5.769,2470,5.769,2471,4.754,2472,5.769,2473,5.769,2474,5.769,2475,5.769,2476,5.769,2477,5.769,2478,5.769,2479,5.769]],["t/357",[0,0.639,36,1.556,57,2.805,176,3.588,973,2.357,1064,1.783,1140,4.948,1354,4.268,1396,2.49,1417,5.731,1747,4.459,1866,4.948,2179,4.681,2231,5.555,2295,4.948,2369,4.948,2416,4.948,2418,4.948,2419,4.948,2471,5.283,2480,6.411,2481,6.411]],["t/359",[0,0.815,36,1.616,973,2.448,991,3.62,1064,2.273,1395,2.803,1396,2.586,1465,3.261,1762,2.244,1952,4.861,1973,5.042,1974,4.259,2189,5.486,2293,4.861,2482,5.951]],["t/361",[0,0.668,24,1.806,32,1.52,41,2.215,57,1.187,58,1.647,89,1.981,124,2.452,168,1.778,203,3.583,215,2.236,217,1.887,222,1.362,227,1.298,238,2.019,248,2.094,261,1.139,318,3.926,334,3.334,353,2.611,356,2.31,362,3.334,371,2.574,391,1.435,398,1.806,577,1.617,670,1.981,677,3.334,684,1.565,697,1.435,950,1.981,996,2.094,1064,1.201,1197,1.016,1214,1.806,1226,2.094,1347,1.24,1369,1.887,1399,1.617,1400,1.213,1401,1.475,1408,3.334,1447,1.981,1521,3.334,1744,2.425,1778,2.236,1788,2.664,1806,1.981,1812,2.236,1815,2.236,1816,3.56,1823,2.236,1858,1.981,1948,2.876,1968,1.736,1973,1.673,1974,1.736,1984,2.876,2013,2.236,2015,2.236,2058,2.094,2077,2.236,2179,1.981,2215,2.094,2293,1.981,2416,4.154,2417,2.425,2418,3.334,2419,3.334,2449,2.236,2471,3.56,2482,2.425,2483,2.713,2484,4.811,2485,2.425,2486,3.862,2487,2.425,2488,2.425,2489,2.425,2490,2.425,2491,2.713,2492,2.713,2493,2.713,2494,2.713,2495,2.713,2496,2.713,2497,2.713,2498,2.713,2499,2.713,2500,2.713,2501,2.713,2502,4.32,2503,2.713,2504,2.713,2505,2.713,2506,2.713,2507,2.713,2508,2.425,2509,2.425,2510,2.713,2511,2.713,2512,2.425,2513,2.713,2514,2.713,2515,4.32]],["t/364",[0,0.392,20,1.682,28,3.637,34,1.157,41,2.602,48,1.354,51,1.867,57,1.723,58,1.502,59,3.674,63,1.441,73,2.52,82,2.162,89,1.766,100,1.214,106,1.61,118,1.993,121,1.867,141,1.246,182,1.766,198,2.162,203,1.61,221,3.465,244,4.927,249,1.867,261,1.016,272,1.105,329,3.246,371,1.441,392,2.162,400,2.162,436,2.272,450,0.958,462,2.162,482,1.993,505,3.521,510,2.162,537,4.732,549,1.682,552,1.279,564,1.498,575,1.867,607,1.766,615,5.514,658,1.492,667,0.94,875,1.993,970,1.867,973,0.889,1022,1.548,1063,2.162,1122,1.993,1153,1.441,1326,2.162,1328,3.246,1382,2.622,1395,0.829,1422,5.887,1506,1.867,1532,1.61,1605,1.396,1609,3.04,1622,1.993,1639,1.766,1797,1.993,1858,2.876,1916,2.876,1946,1.867,1981,1.993,2127,1.993,2142,2.162,2231,1.682,2295,1.867,2355,4.105,2369,1.867,2387,1.993,2400,6.137,2402,4.453,2403,2.162,2404,2.162,2406,3.04,2407,2.162,2408,2.162,2409,3.521,2410,3.521,2411,4.453,2448,2.162,2453,2.162,2516,2.419,2517,2.419,2518,2.419,2519,2.419,2520,2.162,2521,2.162,2522,2.162,2523,3.939,2524,2.419,2525,3.939,2526,2.419,2527,2.419,2528,2.162,2529,3.939,2530,2.419,2531,2.419,2532,2.419,2533,2.419,2534,2.419,2535,2.419,2536,2.419,2537,2.419,2538,2.419,2539,2.419,2540,3.939,2541,2.419,2542,2.419,2543,2.419,2544,3.939,2545,3.939,2546,2.419,2547,2.419,2548,3.939,2549,2.419,2550,2.419,2551,2.419,2552,2.419,2553,3.939,2554,2.419,2555,2.162,2556,2.419]],["t/366",[0,0.676,36,1.648,57,2.97,169,4.045,973,2.496,1064,1.888,1194,4.721,1396,2.637,1405,4.186,1532,4.519,1747,4.721,1858,4.957,1866,5.24,2295,5.24,2369,5.24,2406,5.24,2557,6.788]],["t/368",[0,0.82,36,1.632,973,2.472,991,3.655,1064,2.287,1395,2.82,1396,2.612,1465,3.292,1762,2.266,1952,4.908,1973,5.072,1974,4.301,2189,5.54,2293,4.908]],["t/370",[0,0.522,24,1.154,28,1.266,32,1.107,41,1.613,57,0.759,58,0.661,59,1.906,63,1.033,96,0.829,124,2.039,168,1.226,169,1.033,176,1.668,215,1.429,216,0.792,217,1.206,222,0.87,227,0.829,238,0.81,239,0.728,244,1.906,248,1.338,261,0.728,318,2.976,334,2.3,353,2.357,356,2.467,362,3.024,371,2.335,391,0.917,398,1.154,564,0.896,575,2.3,615,2.3,629,2.664,667,0.674,668,1.55,670,1.266,677,3.024,690,1.154,697,0.917,847,1.338,856,1.55,1064,0.829,1186,2.072,1197,0.649,1214,1.154,1226,1.338,1332,1.429,1347,0.792,1350,1.069,1369,1.206,1373,1.55,1399,1.033,1400,0.775,1401,0.943,1403,1,1408,2.3,1474,1.266,1532,1.154,1720,1.429,1778,1.429,1788,1.837,1803,1.338,1806,1.266,1812,1.429,1815,1.429,1816,2.455,1823,1.429,1858,4.177,1866,1.338,1915,2.861,1948,1.984,1968,1.109,1973,1.069,1974,1.109,1981,1.429,1984,1.154,2013,1.429,2015,1.429,2058,1.338,2077,1.429,2115,1.55,2152,1.55,2231,1.206,2293,1.266,2400,3.833,2406,3.024,2484,3.503,2485,1.55,2486,2.664,2487,1.55,2488,1.55,2489,1.55,2490,1.55,2508,1.55,2509,1.55,2512,1.55,2520,1.55,2521,1.55,2522,1.55,2528,1.55,2558,1.734,2559,2.98,2560,1.734,2561,1.734,2562,2.98,2563,1.734,2564,1.734,2565,1.734,2566,3.919,2567,1.734,2568,3.919,2569,1.734,2570,1.734,2571,1.734,2572,1.734,2573,1.734,2574,1.734,2575,1.734,2576,1.734,2577,1.734,2578,1.734,2579,1.734,2580,1.734,2581,1.734,2582,1.734,2583,2.98,2584,1.734,2585,1.734,2586,3.919,2587,1.734,2588,1.734,2589,2.98,2590,4.651,2591,2.98,2592,1.734,2593,1.55,2594,1.734,2595,1.734,2596,1.734,2597,1.734,2598,4.651,2599,3.919,2600,1.734,2601,2.98,2602,1.734,2603,2.98,2604,4.651,2605,1.734,2606,1.734,2607,1.734,2608,1.734,2609,1.734,2610,1.734,2611,1.734,2612,1.734,2613,2.98,2614,1.734,2615,1.734,2616,1.734,2617,1.734,2618,1.734,2619,1.734,2620,2.98,2621,1.734,2622,1.734,2623,1.734,2624,1.734,2625,1.734,2626,1.734,2627,1.734,2628,1.734,2629,1.734,2630,1.734,2631,1.734,2632,2.98]],["t/372",[0,0.633,11,2.968,32,1.794,100,3.189,200,4.229,225,2.667,401,5.234,450,3.144,684,3.665,1513,4.229,1589,4.418,1598,5.678,1605,3.665,1654,4.638,1923,5.523,1957,4.229,2143,5.799,2254,4.229,2633,6.352,2634,6.544]],["t/374",[0,0.633,200,4.229,243,4.418,450,2.515,684,4.582,1194,4.418,1345,2.667,1668,5.234,1762,2.141,1923,5.523,1924,4.064,1958,5.234,2105,5.234,2129,3.453,2143,4.638,2634,5.234,2635,6.352,2636,6.352,2637,5.678,2638,5.678,2639,6.352,2640,5.678]],["t/376",[0,0.75,684,4.343,1468,7.867,1654,5.496,2129,4.092,2254,5.011]],["t/378",[0,0.655,11,0.937,14,0.699,58,1.664,74,1.548,89,1.464,93,1.335,94,1.792,97,2.009,106,1.335,124,1.064,125,1.236,126,1.335,128,0.982,139,1.335,140,1.157,168,1.796,187,1.007,200,2.245,202,2.372,222,1.007,225,2.396,235,0.809,238,0.937,239,1.832,240,2.691,243,1.395,267,1.464,321,1.157,349,1.548,356,2.153,385,1.157,388,1.464,391,1.06,393,1.236,447,1.652,450,1.335,466,1.652,467,2.603,468,2.603,474,2.345,481,1.507,498,1.548,544,1.236,552,1.06,564,1.538,568,1.033,577,1.195,597,2.308,638,1.464,684,3.566,690,1.335,695,1.464,720,1.464,754,2.157,792,1.652,875,1.652,893,1.792,971,1.157,973,0.737,975,2.779,1186,1.395,1197,1.915,1321,3.014,1344,1.283,1399,2.6,1400,2.287,1401,2.372,1402,2.245,1403,1.157,1404,1.395,1406,1.464,1437,1.652,1439,2.779,1440,2.245,1441,2.345,1456,2.779,1459,1.792,1507,0.751,1525,1.652,1530,1.652,1554,1.792,1562,1.335,1589,4.798,1590,1.652,1597,1.792,1601,1.335,1603,1.335,1654,4.513,1672,1.195,1923,3.558,1924,1.283,1946,2.603,1957,1.335,1965,3.186,1968,2.157,1984,1.335,2002,1.652,2129,1.833,2134,1.548,2143,4.166,2207,1.06,2228,2.603,2254,2.245,2319,2.603,2326,1.792,2357,1.792,2360,2.779,2362,2.779,2364,3.014,2370,1.792,2371,3.014,2373,1.792,2374,3.014,2389,1.652,2555,1.792,2593,1.792,2634,5.415,2637,1.792,2638,1.792,2640,3.014,2641,2.005,2642,2.005,2643,2.005,2644,2.005,2645,2.005,2646,2.005,2647,3.014,2648,3.372,2649,5.706,2650,3.372,2651,2.005,2652,2.005,2653,2.005,2654,2.005,2655,2.005,2656,2.005,2657,2.005,2658,3.372,2659,2.005,2660,2.005,2661,2.005]],["t/380",[2,2.808,14,1.802,81,3.593,202,3.776,235,2.085,356,2.323,446,2.891,564,1.553,699,3.078,754,4.443,1197,2.6,1402,4.623,1924,4.443,1956,5.071,1957,3.439,2129,3.776,2228,5.36,2254,5.223,2257,3.987,2348,6.208,2360,4.257,2361,4.618,2362,5.723,2363,4.618,2647,6.208,2662,6.945,2663,5.166,2664,5.166,2665,5.166,2666,5.166]]],"invertedIndex":[["",{"_index":356,"t":{"13":{"position":[[1001,1],[1129,1],[1147,1],[1234,1],[1267,1]]},"23":{"position":[[1667,1],[1677,2],[2030,1],[2314,2],[2335,1],[2364,1],[2689,1],[2691,2],[2718,4],[3053,1],[3101,1],[4457,1],[4584,1]]},"25":{"position":[[713,1],[1120,1],[1130,1]]},"27":{"position":[[633,1],[642,1],[1306,1]]},"31":{"position":[[1081,1],[1532,1],[1568,1],[1575,2],[1578,2],[1583,5],[1611,4],[2090,1],[2711,3],[2844,3],[2923,1],[2942,1],[2979,1],[2986,1],[2994,1],[3010,2]]},"33":{"position":[[894,1],[938,1],[949,2],[952,2],[957,5],[989,4]]},"35":{"position":[[623,1]]},"37":{"position":[[475,1],[508,1],[619,1],[652,1],[857,1],[878,2],[900,1],[986,1],[1005,1],[1007,2],[1029,1],[1190,1],[1214,1]]},"39":{"position":[[709,3],[740,3],[772,3],[1052,1],[1088,2],[1102,1],[1104,2],[1134,1],[1293,1],[1312,1],[1317,1],[1329,2],[1343,1],[1345,2],[1375,1],[1393,1],[1398,1],[1621,1],[1724,1],[2194,1],[2573,1],[2616,1],[2760,1],[2802,1]]},"41":{"position":[[491,1],[863,1],[877,1],[921,1],[923,1],[925,1],[940,1],[942,1],[944,1],[959,1]]},"52":{"position":[[109,1],[129,1],[207,1],[241,1],[294,1]]},"58":{"position":[[367,1],[387,1],[465,1],[499,1],[552,1]]},"61":{"position":[[260,1],[327,1],[406,1],[444,1]]},"77":{"position":[[202,1],[210,1],[264,1]]},"79":{"position":[[146,1],[176,1],[281,1],[287,1],[321,1],[374,1],[860,2],[1132,1]]},"84":{"position":[[324,1],[441,1],[455,1],[516,1],[701,2],[713,3],[725,1]]},"91":{"position":[[87,1]]},"95":{"position":[[30,1]]},"111":{"position":[[820,1]]},"117":{"position":[[929,1],[1002,1],[1042,1],[1089,1],[1182,1],[1211,1],[1282,1],[1366,1]]},"119":{"position":[[575,1],[665,1],[742,1],[782,1],[833,1],[854,1],[923,2],[938,1],[1003,2],[1017,1],[1082,2],[1101,1],[1148,1],[1218,1]]},"121":{"position":[[556,1],[637,1],[689,1],[736,1],[806,1],[873,1],[913,1],[976,1],[997,1],[1079,1],[1129,1],[1183,1]]},"125":{"position":[[216,1],[239,1],[331,1],[336,1],[411,1],[467,1],[557,1],[637,1],[665,1],[721,1],[790,1],[866,1],[920,1],[990,1]]},"142":{"position":[[239,1]]},"144":{"position":[[963,1],[989,1],[1092,1],[1149,1],[1251,1],[1290,1],[1292,1],[1388,1],[1447,1],[1516,1],[1578,1]]},"150":{"position":[[583,1],[656,1],[658,1],[689,1],[699,1],[743,1]]},"152":{"position":[[555,1],[595,1],[650,1],[661,1],[728,1]]},"156":{"position":[[154,1],[174,1],[257,1]]},"158":{"position":[[330,1],[352,1],[406,1],[419,1],[478,1],[524,1]]},"160":{"position":[[348,1],[422,1],[1266,1],[1330,1],[1343,2],[1346,2]]},"164":{"position":[[235,1],[260,1],[310,1],[739,1],[764,1],[814,1],[923,1],[933,1]]},"168":{"position":[[202,1],[227,1],[277,1]]},"170":{"position":[[262,1],[287,1],[325,1],[372,1],[433,1],[489,1],[553,1],[619,1],[683,1]]},"172":{"position":[[445,1],[470,1],[520,1]]},"175":{"position":[[248,1],[276,1]]},"177":{"position":[[39,1],[55,1],[103,1],[129,1],[188,1]]},"179":{"position":[[729,1],[747,1],[910,1],[977,1],[1059,1]]},"190":{"position":[[349,1],[374,1]]},"192":{"position":[[261,1],[286,1],[422,1],[447,1]]},"194":{"position":[[313,1],[329,1],[373,1],[395,1],[450,1]]},"196":{"position":[[414,1],[443,1]]},"198":{"position":[[152,1],[184,1],[257,1],[368,1]]},"225":{"position":[[312,1],[367,1],[447,1],[579,1],[651,1],[700,1],[806,1]]},"285":{"position":[[285,1]]},"311":{"position":[[180,1],[210,1],[236,1],[259,1],[603,1],[633,1],[659,1],[682,1],[691,1],[959,1],[989,1],[1015,1],[1038,1],[1045,1],[1203,1],[1233,1],[1259,1],[1282,1],[1289,1]]},"335":{"position":[[505,1]]},"337":{"position":[[323,1]]},"339":{"position":[[271,1]]},"341":{"position":[[222,1]]},"361":{"position":[[371,1],[404,1],[439,1],[626,1],[636,1],[667,1],[694,1],[824,1],[883,1],[992,1],[1017,1],[1088,1],[1124,1],[1196,1],[1224,2],[1411,1]]},"370":{"position":[[470,1],[503,1],[538,1],[819,1],[849,1],[868,1],[894,1],[947,1],[1048,1],[1187,1],[1191,1],[1218,1],[1223,1],[1279,1],[1326,2],[1342,1],[1396,1],[1421,1],[1526,1],[1645,1],[1654,1],[1656,2],[1669,1],[1671,2],[1692,1],[1752,1],[1853,1],[1953,1],[2119,1],[2174,2],[2214,2],[2251,1],[2271,1],[2283,1],[2302,1],[2386,1],[2418,1],[2433,1],[2549,1],[2551,2],[2567,1],[2605,2],[2642,2],[2645,3],[2663,1],[2720,2],[2904,1],[2906,2]]},"378":{"position":[[865,1],[895,1],[921,1],[972,1],[982,1],[984,1],[1013,1],[1015,1],[1088,1],[1465,1],[1495,1],[1521,1],[1572,1],[1582,1],[1584,1],[1613,1]]},"380":{"position":[[214,1],[244,1],[268,1],[346,1],[376,1],[400,1]]}}}],["0",{"_index":799,"t":{"23":{"position":[[3333,1]]},"25":{"position":[[920,1]]},"49":{"position":[[623,1]]},"158":{"position":[[372,2]]},"160":{"position":[[172,1]]}}}],["0.0",{"_index":2028,"t":{"160":{"position":[[183,3]]}}}],["0.25",{"_index":2648,"t":{"378":{"position":[[977,4],[1577,4]]}}}],["0.5",{"_index":1996,"t":{"152":{"position":[[1127,5]]},"311":{"position":[[687,3]]}}}],["0.75",{"_index":2641,"t":{"378":{"position":[[405,5]]}}}],["0.95",{"_index":1892,"t":{"142":{"position":[[466,5],[613,4]]},"144":{"position":[[1285,4],[1371,4]]}}}],["0}^k",{"_index":909,"t":{"25":{"position":[[1132,4]]}}}],["1",{"_index":597,"t":{"21":{"position":[[1370,2],[2472,2]]},"23":{"position":[[3157,2],[3273,1]]},"25":{"position":[[733,2]]},"27":{"position":[[1928,1],[3392,1]]},"31":{"position":[[586,2],[1068,1]]},"33":{"position":[[940,1]]},"37":{"position":[[510,2],[655,1]]},"39":{"position":[[1606,2],[2276,1]]},"49":{"position":[[628,2]]},"113":{"position":[[471,1],[532,1]]},"152":{"position":[[1043,2]]},"160":{"position":[[1349,2]]},"311":{"position":[[264,1]]},"378":{"position":[[986,1],[1586,1],[1999,1]]}}}],["1.0",{"_index":925,"t":{"25":{"position":[[1633,3]]},"41":{"position":[[1279,3]]},"152":{"position":[[652,3],[1025,4]]},"160":{"position":[[187,3]]}}}],["1.25\\%δ/4=1.25",{"_index":1202,"t":{"39":{"position":[[1726,16]]}}}],["1.96",{"_index":1255,"t":{"41":{"position":[[883,4]]}}}],["1/2",{"_index":1219,"t":{"39":{"position":[[2575,5],[2762,5]]}}}],["1/n",{"_index":804,"t":{"23":{"position":[[3460,4]]}}}],["10",{"_index":263,"t":{"11":{"position":[[1897,2]]},"17":{"position":[[228,2]]},"117":{"position":[[1378,2]]},"144":{"position":[[1487,2]]},"177":{"position":[[69,2]]},"183":{"position":[[223,2]]},"194":{"position":[[206,2],[343,2]]},"225":{"position":[[576,2],[803,2]]}}}],["100",{"_index":847,"t":{"23":{"position":[[4459,5]]},"27":{"position":[[392,3]]},"41":{"position":[[1290,4],[1465,5],[1553,4]]},"370":{"position":[[2285,3]]}}}],["100(1",{"_index":1050,"t":{"31":{"position":[[1441,5]]},"33":{"position":[[801,5]]},"39":{"position":[[851,5]]}}}],["100*(1",{"_index":1085,"t":{"31":{"position":[[2725,6]]}}}],["1007us",{"_index":1698,"t":{"113":{"position":[[132,6]]}}}],["100×\\times×(1",{"_index":1124,"t":{"35":{"position":[[295,13],[448,13]]}}}],["1024",{"_index":2493,"t":{"361":{"position":[[628,4]]}}}],["11",{"_index":1490,"t":{"79":{"position":[[898,3],[906,3]]},"183":{"position":[[230,2]]}}}],["13900h",{"_index":1702,"t":{"113":{"position":[[163,6]]}}}],["15",{"_index":1696,"t":{"113":{"position":[[122,2],[354,2]]}}}],["17",{"_index":2587,"t":{"370":{"position":[[1220,2]]}}}],["18.04",{"_index":2224,"t":{"223":{"position":[[167,5]]},"225":{"position":[[7,5],[218,5]]}}}],["19",{"_index":1895,"t":{"142":{"position":[[644,2]]}}}],["1[condition",{"_index":794,"t":{"23":{"position":[[3204,15]]}}}],["1[h(xi)=yi],\\text{acc}^+(h",{"_index":1155,"t":{"37":{"position":[[829,27]]}}}],["1[h(xi)=yi].\\text{acc",{"_index":1158,"t":{"37":{"position":[[958,23]]}}}],["1e",{"_index":1089,"t":{"31":{"position":[[2925,2]]}}}],["1st",{"_index":2100,"t":{"177":{"position":[[143,3]]},"194":{"position":[[409,3]]}}}],["2",{"_index":835,"t":{"23":{"position":[[4128,2]]},"31":{"position":[[2996,1]]},"152":{"position":[[1217,3]]},"311":{"position":[[1043,1],[1287,1]]}}}],["2.5",{"_index":1130,"t":{"35":{"position":[[625,4]]}}}],["20",{"_index":1001,"t":{"27":{"position":[[3397,2]]},"142":{"position":[[654,2]]},"144":{"position":[[1567,2]]}}}],["20.04",{"_index":1713,"t":{"113":{"position":[[251,6]]}}}],["2005",{"_index":663,"t":{"21":{"position":[[2961,4]]},"45":{"position":[[11,5],[116,6]]}}}],["2010",{"_index":1306,"t":{"45":{"position":[[151,5]]},"49":{"position":[[774,4]]}}}],["20th",{"_index":1309,"t":{"45":{"position":[[230,4]]}}}],["24",{"_index":1315,"t":{"45":{"position":[[289,3]]}}}],["24.8",{"_index":981,"t":{"27":{"position":[[2212,5],[2486,5]]}}}],["24/27",{"_index":850,"t":{"23":{"position":[[4578,5]]}}}],["25",{"_index":1491,"t":{"79":{"position":[[902,3]]}}}],["255",{"_index":2027,"t":{"160":{"position":[[174,3]]}}}],["273–306",{"_index":1302,"t":{"45":{"position":[[123,8]]}}}],["3",{"_index":959,"t":{"27":{"position":[[1320,2]]},"225":{"position":[[197,1]]}}}],["3)).astype(np.uint8",{"_index":2042,"t":{"160":{"position":[[401,20]]}}}],["3.10",{"_index":2234,"t":{"225":{"position":[[105,5]]}}}],["3.6",{"_index":2230,"t":{"225":{"position":[[31,3]]}}}],["3.9",{"_index":1396,"t":{"58":{"position":[[53,3]]},"73":{"position":[[88,4]]},"75":{"position":[[30,6]]},"181":{"position":[[43,3]]},"209":{"position":[[99,3]]},"211":{"position":[[68,3]]},"213":{"position":[[25,3]]},"221":{"position":[[124,5]]},"225":{"position":[[234,4]]},"229":{"position":[[115,3]]},"231":{"position":[[75,3]]},"233":{"position":[[25,3]]},"243":{"position":[[106,3]]},"245":{"position":[[74,3]]},"247":{"position":[[25,3]]},"285":{"position":[[27,5]]},"287":{"position":[[101,3]]},"289":{"position":[[68,3]]},"291":{"position":[[25,3]]},"299":{"position":[[130,5]]},"315":{"position":[[99,3]]},"317":{"position":[[68,3]]},"319":{"position":[[25,3]]},"327":{"position":[[124,5]]},"357":{"position":[[28,3]]},"359":{"position":[[23,3]]},"366":{"position":[[28,3]]},"368":{"position":[[23,3]]}}}],["3.9.0",{"_index":2218,"t":{"221":{"position":[[158,9]]},"299":{"position":[[164,9]]},"327":{"position":[[158,9]]}}}],["3.9.5",{"_index":2217,"t":{"221":{"position":[[147,7]]},"299":{"position":[[153,7]]},"327":{"position":[[147,7]]}}}],["30s",{"_index":2076,"t":{"164":{"position":[[681,5]]}}}],["3121",{"_index":1314,"t":{"45":{"position":[[284,4]]}}}],["32",{"_index":2316,"t":{"279":{"position":[[0,2]]}}}],["32gb",{"_index":1708,"t":{"113":{"position":[[213,4]]}}}],["38627",{"_index":1493,"t":{"79":{"position":[[917,6]]}}}],["3pm",{"_index":2615,"t":{"370":{"position":[[2425,3]]}}}],["4",{"_index":975,"t":{"27":{"position":[[1933,1],[2387,2]]},"185":{"position":[[87,1]]},"378":{"position":[[1000,1],[1600,1]]}}}],["400",{"_index":1827,"t":{"125":{"position":[[667,3]]}}}],["401",{"_index":1830,"t":{"125":{"position":[[723,3]]}}}],["403",{"_index":1833,"t":{"125":{"position":[[792,3]]}}}],["404",{"_index":1838,"t":{"125":{"position":[[868,3]]}}}],["4070",{"_index":1706,"t":{"113":{"position":[[196,4]]}}}],["429",{"_index":1840,"t":{"125":{"position":[[922,3]]}}}],["4=1.25%\\delta/4",{"_index":1201,"t":{"39":{"position":[[1706,17]]}}}],["4\\delta/4δ/4",{"_index":1193,"t":{"39":{"position":[[1509,14],[1849,15]]}}}],["4⋅(δ/4)=δ4\\cdot(\\delta/4",{"_index":1211,"t":{"39":{"position":[[2168,25]]}}}],["5",{"_index":393,"t":{"13":{"position":[[1945,1]]},"27":{"position":[[2866,2],[3114,2],[3213,2]]},"29":{"position":[[137,2]]},"31":{"position":[[457,2],[1049,2],[2092,3]]},"79":{"position":[[910,2]]},"177":{"position":[[155,1]]},"185":{"position":[[93,1]]},"194":{"position":[[421,1]]},"378":{"position":[[2184,1]]}}}],["500",{"_index":1691,"t":{"113":{"position":[[47,3],[476,3]]},"125":{"position":[[992,3]]}}}],["50ms",{"_index":1693,"t":{"113":{"position":[[90,4]]}}}],["5200mhz",{"_index":1710,"t":{"113":{"position":[[223,7]]}}}],["54",{"_index":963,"t":{"27":{"position":[[1419,3],[1536,3],[1635,3]]}}}],["57",{"_index":1492,"t":{"79":{"position":[[913,3]]}}}],["587",{"_index":2575,"t":{"370":{"position":[[982,4]]}}}],["5pm",{"_index":2588,"t":{"370":{"position":[[1230,3]]}}}],["6",{"_index":1090,"t":{"31":{"position":[[2928,2]]},"35":{"position":[[1078,2]]},"45":{"position":[[114,1]]}}}],["60",{"_index":1720,"t":{"113":{"position":[[537,4]]},"144":{"position":[[1322,2]]},"370":{"position":[[1647,2]]}}}],["7",{"_index":1224,"t":{"39":{"position":[[2986,2]]}}}],["75",{"_index":241,"t":{"11":{"position":[[1264,4],[1646,3]]}}}],["8",{"_index":1329,"t":{"47":{"position":[[520,2]]}}}],["80",{"_index":939,"t":{"27":{"position":[[457,2],[644,4],[762,4],[1020,4],[1308,4],[1465,3],[1582,3],[1620,4],[1680,3],[2024,4],[2146,3],[2281,3],[2534,3],[2828,3],[3024,4],[3258,3],[3371,3]]},"89":{"position":[[117,3]]}}}],["80.0",{"_index":962,"t":{"27":{"position":[[1387,6]]}}}],["80/100",{"_index":944,"t":{"27":{"position":[[635,6],[1299,6]]}}}],["800",{"_index":2041,"t":{"160":{"position":[[396,4]]}}}],["800x600",{"_index":2034,"t":{"160":{"position":[[291,7]]}}}],["83",{"_index":974,"t":{"27":{"position":[[1902,4],[2186,4],[2375,4]]}}}],["83.0",{"_index":985,"t":{"27":{"position":[[2454,6]]}}}],["86.3",{"_index":993,"t":{"27":{"position":[[2795,6],[3100,6],[3181,6],[3315,5],[3459,5]]}}}],["89",{"_index":851,"t":{"23":{"position":[[4586,4]]}}}],["9",{"_index":2584,"t":{"370":{"position":[[1189,1]]}}}],["9/9",{"_index":846,"t":{"23":{"position":[[4453,3]]}}}],["95",{"_index":601,"t":{"21":{"position":[[1466,3]]},"29":{"position":[[248,3],[356,3],[539,3],[732,3],[854,3]]},"31":{"position":[[533,3],[716,3],[818,4],[1083,3],[1934,3]]},"35":{"position":[[515,3],[679,3],[755,3],[839,3],[1022,3]]},"39":{"position":[[1623,4]]},"41":{"position":[[825,7],[916,4]]},"49":{"position":[[101,3],[154,3],[300,3]]},"142":{"position":[[514,3]]}}}],["97.5",{"_index":1128,"t":{"35":{"position":[[559,5]]}}}],["99",{"_index":1032,"t":{"31":{"position":[[642,3],[672,3],[774,3]]}}}],["9am",{"_index":2585,"t":{"370":{"position":[[1198,3]]}}}],["_",{"_index":2018,"t":{"158":{"position":[[397,2]]}}}],["__init__(self",{"_index":363,"t":{"13":{"position":[[1102,15]]}}}],["a1,a2,…,ana_1",{"_index":1317,"t":{"47":{"position":[[68,14]]}}}],["a_2",{"_index":1318,"t":{"47":{"position":[[83,4]]}}}],["a_i",{"_index":1324,"t":{"47":{"position":[[281,3]]}}}],["a_na1,a2,…,an",{"_index":1320,"t":{"47":{"position":[[96,17]]}}}],["abandoned",{"_index":77,"t":{"7":{"position":[[135,9]]},"13":{"position":[[2453,9]]}}}],["ability",{"_index":307,"t":{"13":{"position":[[21,7]]}}}],["above",{"_index":643,"t":{"21":{"position":[[2475,7]]},"23":{"position":[[3361,5]]},"31":{"position":[[1020,5],[1916,5]]},"39":{"position":[[9,5]]},"107":{"position":[[605,5]]},"111":{"position":[[1009,5]]},"142":{"position":[[889,5]]},"168":{"position":[[74,5]]},"175":{"position":[[176,5]]}}}],["acc+(h",{"_index":1179,"t":{"39":{"position":[[813,8]]}}}],["acc+(h)=e(x,y)∼d",{"_index":1154,"t":{"37":{"position":[[811,17]]}}}],["acc+(h)=e(x,y)∼d+1[h(xi)=yi],acc−(h)=e(x,y)∼d",{"_index":1157,"t":{"37":{"position":[[906,51]]}}}],["acc+(h)=p(n+,k+,δ/4)acc−‾(h)=p‾(n−,k−,δ/4",{"_index":1189,"t":{"39":{"position":[[1195,43]]}}}],["acc+‾(h",{"_index":1172,"t":{"39":{"position":[[641,9],[651,9]]}}}],["acc+‾(h)=p‾(n+,k+,δ/4",{"_index":1183,"t":{"39":{"position":[[975,22]]}}}],["acc+‾(h)=p‾(n+,k+,δ/4)\\underline{\\text{acc}^+}(h",{"_index":1184,"t":{"39":{"position":[[1002,49]]}}}],["acc^s(h)=1n∑i=1n1",{"_index":783,"t":{"23":{"position":[[2995,18]]}}}],["acc^s(h)\\widehat{\\text{acc}}_s(h)accs(h",{"_index":943,"t":{"27":{"position":[[591,41]]}}}],["accbal(h)=acc+(h)+acc−(h)2.\\text{acc}_\\text{bal}(h",{"_index":1161,"t":{"37":{"position":[[1138,51]]}}}],["accbal(h)\\text{acc}_\\text{bal}(h)accbal(h",{"_index":1182,"t":{"39":{"position":[[898,44]]}}}],["accbal‾(h)=(1/2)(acc+‾(h)+acc−‾(h))\\underline{\\text{acc}_\\text{bal}}(h",{"_index":1218,"t":{"39":{"position":[[2501,71]]}}}],["accd(h)=pr(x,y)∼d",{"_index":750,"t":{"23":{"position":[[2287,19]]}}}],["accd(h)\\text{acc}_d(h)accd(h",{"_index":940,"t":{"27":{"position":[[519,31]]}}}],["accd(h)=(x,y)∼dpr[h(x)=y",{"_index":757,"t":{"23":{"position":[[2370,30]]}}}],["accept",{"_index":2001,"t":{"156":{"position":[[24,6]]},"160":{"position":[[24,6]]}}}],["acceptable",{"_index":1906,"t":{"142":{"position":[[1102,10]]}}}],["accepts",{"_index":1999,"t":{"154":{"position":[[18,7]]}}}],["access",{"_index":1405,"t":{"58":{"position":[[227,6]]},"61":{"position":[[37,6],[158,6]]},"63":{"position":[[108,6]]},"65":{"position":[[0,6]]},"105":{"position":[[25,6]]},"125":{"position":[[118,6],[308,6]]},"259":{"position":[[382,6]]},"281":{"position":[[129,6]]},"366":{"position":[[113,6]]}}}],["accessed",{"_index":345,"t":{"13":{"position":[[816,8]]}}}],["accessible",{"_index":2440,"t":{"345":{"position":[[309,10]]}}}],["according",{"_index":1568,"t":{"91":{"position":[[51,9]]}}}],["account",{"_index":1194,"t":{"39":{"position":[[1527,7]]},"73":{"position":[[29,7]]},"105":{"position":[[8,7]]},"307":{"position":[[29,7]]},"366":{"position":[[95,7]]},"374":{"position":[[250,7]]}}}],["account's",{"_index":1628,"t":{"105":{"position":[[307,9]]}}}],["account/api",{"_index":1436,"t":{"65":{"position":[[60,11]]}}}],["accs(h)=n1i=1∑n1[h(xi)=yi",{"_index":790,"t":{"23":{"position":[[3107,36]]}}}],["accumulate",{"_index":67,"t":{"3":{"position":[[888,10]]},"5":{"position":[[861,10]]}}}],["accuracies",{"_index":1012,"t":{"29":{"position":[[525,10]]},"37":{"position":[[728,10]]},"39":{"position":[[530,10],[2489,11]]}}}],["accuracy",{"_index":536,"t":{"21":{"position":[[157,9],[352,8],[686,8],[742,9],[761,8],[904,8],[945,8],[995,8],[1217,8],[1326,8],[1386,8],[1423,8],[1446,8],[1546,8],[1907,8],[2078,9],[2263,9],[2355,8],[2443,8],[3063,8]]},"23":{"position":[[60,9],[161,9],[213,8],[603,8],[680,8],[823,9],[837,8],[909,9],[1235,8],[2165,8],[2202,8],[2410,8],[2945,8],[3544,8],[4136,8],[4408,8],[4549,8]]},"25":{"position":[[65,8]]},"27":{"position":[[272,8],[509,9],[581,9],[750,8],[943,9],[998,8],[1096,8],[1281,8],[1378,8],[1453,8],[1570,8],[1608,8],[1870,8],[1968,8],[2012,8],[2134,8],[2173,8],[2295,8],[2363,8],[2445,8],[2522,8],[2638,8],[2717,9],[2764,8],[2816,8],[3012,8],[3088,8],[3172,8],[3246,8],[3301,8],[3359,8],[3447,8]]},"29":{"position":[[68,8],[114,8],[209,9],[288,9],[360,8],[782,8],[845,8]]},"31":{"position":[[200,9],[762,8],[1415,9],[1687,8],[2772,8]]},"33":{"position":[[101,9],[473,9],[530,8],[775,9]]},"35":{"position":[[1243,9]]},"37":{"position":[[25,8],[77,8],[130,8],[221,10],[1088,8]]},"39":{"position":[[66,8],[629,8],[2393,8],[2969,9],[3002,8]]},"41":{"position":[[114,8],[467,9],[1305,10],[1453,8],[1558,8]]},"43":{"position":[[213,8],[442,9]]},"45":{"position":[[170,8]]},"49":{"position":[[184,8],[250,8],[466,8],[577,8],[836,9]]},"81":{"position":[[782,8]]},"142":{"position":[[218,8]]},"144":{"position":[[1749,8]]}}}],["accurate",{"_index":331,"t":{"13":{"position":[[517,8]]},"41":{"position":[[1715,8]]},"142":{"position":[[1231,8],[1421,9]]},"144":{"position":[[1822,8]]}}}],["acc−(h",{"_index":1181,"t":{"39":{"position":[[832,8]]}}}],["acc−(h)=e(x,y)∼d−1[h(xi)=yi",{"_index":1160,"t":{"37":{"position":[[1035,34]]}}}],["acc−(h)=p(n−,k−,δ/4",{"_index":1192,"t":{"39":{"position":[[1436,21]]}}}],["acc−(h",{"_index":1180,"t":{"39":{"position":[[822,9]]}}}],["acc−‾(h",{"_index":1173,"t":{"39":{"position":[[661,9],[671,9]]}}}],["acc−‾(h)=p‾(n−,k−,δ/4)\\underline{\\text{acc",{"_index":1190,"t":{"39":{"position":[[1243,44]]}}}],["achieved",{"_index":62,"t":{"3":{"position":[[789,8]]},"5":{"position":[[762,8]]},"105":{"position":[[339,8]]},"142":{"position":[[827,8],[927,9]]}}}],["achieving",{"_index":1943,"t":{"144":{"position":[[1869,9]]}}}],["act",{"_index":869,"t":{"25":{"position":[[253,3]]}}}],["action",{"_index":732,"t":{"23":{"position":[[1756,6]]},"115":{"position":[[420,6]]},"119":{"position":[[861,6]]},"333":{"position":[[88,7]]}}}],["actions",{"_index":1767,"t":{"119":{"position":[[258,7]]}}}],["activate",{"_index":1459,"t":{"75":{"position":[[184,8]]},"378":{"position":[[2261,8]]}}}],["actively",{"_index":130,"t":{"9":{"position":[[299,8]]}}}],["activity",{"_index":2644,"t":{"378":{"position":[[553,9]]}}}],["actual",{"_index":992,"t":{"27":{"position":[[2705,6]]}}}],["actually",{"_index":405,"t":{"13":{"position":[[2536,8]]},"23":{"position":[[375,8]]},"27":{"position":[[1118,8]]}}}],["add",{"_index":17,"t":{"3":{"position":[[219,3]]},"5":{"position":[[192,3]]},"15":{"position":[[661,3],[773,3]]},"179":{"position":[[400,3]]},"311":{"position":[[912,3],[1115,3]]}}}],["adding",{"_index":466,"t":{"17":{"position":[[62,6]]},"225":{"position":[[281,6]]},"378":{"position":[[1400,6]]}}}],["addition",{"_index":159,"t":{"9":{"position":[[950,8]]}}}],["additional",{"_index":1675,"t":{"111":{"position":[[515,10]]}}}],["additionally",{"_index":1624,"t":{"105":{"position":[[225,13]]},"351":{"position":[[208,13]]}}}],["address",{"_index":1688,"t":{"111":{"position":[[1237,7]]}}}],["addressing",{"_index":2550,"t":{"364":{"position":[[1501,10]]}}}],["adds",{"_index":289,"t":{"11":{"position":[[2610,4]]}}}],["adequate",{"_index":550,"t":{"21":{"position":[[384,8]]}}}],["adjusted",{"_index":1126,"t":{"35":{"position":[[419,8]]},"39":{"position":[[1485,8]]}}}],["advanced",{"_index":120,"t":{"9":{"position":[[48,8]]}}}],["ag",{"_index":2322,"t":{"281":{"position":[[49,2]]}}}],["again",{"_index":996,"t":{"27":{"position":[[3029,6]]},"33":{"position":[[614,6]]},"67":{"position":[[134,6]]},"361":{"position":[[1448,5]]}}}],["against",{"_index":1517,"t":{"81":{"position":[[774,7]]},"179":{"position":[[58,7]]}}}],["aggregating",{"_index":2595,"t":{"370":{"position":[[1587,11]]}}}],["agnostic",{"_index":2092,"t":{"172":{"position":[[97,8]]}}}],["ago",{"_index":2050,"t":{"160":{"position":[[723,3]]}}}],["ahead",{"_index":2236,"t":{"225":{"position":[[156,6]]}}}],["ai",{"_index":1388,"t":{"56":{"position":[[69,2]]}}}],["aia_iai",{"_index":1331,"t":{"47":{"position":[[576,8],[627,8]]}}}],["aids",{"_index":1860,"t":{"133":{"position":[[111,4]]}}}],["aim",{"_index":1287,"t":{"43":{"position":[[608,3]]}}}],["al",{"_index":1305,"t":{"45":{"position":[[146,4]]},"49":{"position":[[769,4]]}}}],["alert",{"_index":1589,"t":{"99":{"position":[[167,6],[258,5],[291,5]]},"101":{"position":[[20,6],[355,5],[447,5],[492,5],[557,5],[694,5]]},"305":{"position":[[518,5]]},"341":{"position":[[125,5]]},"372":{"position":[[214,5]]},"378":{"position":[[1708,5],[1838,6],[1883,6],[1957,5],[2044,5],[2158,5],[2218,5],[2275,5]]}}}],["alerting",{"_index":116,"t":{"7":{"position":[[821,8]]},"313":{"position":[[125,8]]}}}],["alerts",{"_index":97,"t":{"7":{"position":[[426,6]]},"13":{"position":[[486,6]]},"81":{"position":[[1279,7],[1307,6]]},"99":{"position":[[32,6],[78,6],[190,6]]},"101":{"position":[[45,6]]},"103":{"position":[[35,6]]},"305":{"position":[[359,6]]},"313":{"position":[[196,7]]},"341":{"position":[[36,6]]},"378":{"position":[[1805,6],[2403,6]]}}}],["algorithm",{"_index":2198,"t":{"205":{"position":[[315,11]]}}}],["aliases",{"_index":2080,"t":{"166":{"position":[[51,7],[102,7]]}}}],["allocation",{"_index":2523,"t":{"364":{"position":[[534,10],[651,10]]}}}],["allow",{"_index":2265,"t":{"259":{"position":[[363,5]]},"281":{"position":[[97,5]]}}}],["allowed",{"_index":1835,"t":{"125":{"position":[[826,7]]}}}],["allowing",{"_index":193,"t":{"11":{"position":[[214,8]]},"351":{"position":[[327,8]]}}}],["allows",{"_index":149,"t":{"9":{"position":[[783,6]]},"11":{"position":[[327,6]]},"21":{"position":[[244,6]]},"84":{"position":[[12,6]]},"105":{"position":[[109,6]]},"107":{"position":[[735,6]]},"111":{"position":[[232,6]]},"135":{"position":[[124,6]]},"142":{"position":[[173,6]]},"144":{"position":[[1727,6]]},"172":{"position":[[678,6]]},"271":{"position":[[161,6]]}}}],["along",{"_index":1390,"t":{"56":{"position":[[94,5]]},"113":{"position":[[384,5]]}}}],["already",{"_index":2107,"t":{"179":{"position":[[450,7]]},"190":{"position":[[114,7]]},"192":{"position":[[205,7]]},"201":{"position":[[182,7]]},"203":{"position":[[342,7]]}}}],["alternatively",{"_index":2148,"t":{"192":{"position":[[327,14]]}}}],["alternatives",{"_index":2244,"t":{"225":{"position":[[509,12],[745,12]]}}}],["always",{"_index":589,"t":{"21":{"position":[[1182,6],[1196,6],[1270,6],[1595,6]]},"25":{"position":[[1747,6]]},"41":{"position":[[90,6]]},"172":{"position":[[272,6]]},"179":{"position":[[610,6]]}}}],["ambiguity",{"_index":1544,"t":{"84":{"position":[[256,9]]}}}],["ambiguous",{"_index":1572,"t":{"93":{"position":[[26,10]]}}}],["amount",{"_index":638,"t":{"21":{"position":[[2296,6],[2647,6]]},"27":{"position":[[1174,6],[2929,6]]},"144":{"position":[[417,6],[601,6]]},"164":{"position":[[628,6]]},"378":{"position":[[1325,6]]}}}],["ample",{"_index":608,"t":{"21":{"position":[[1610,5]]}}}],["analogy",{"_index":868,"t":{"25":{"position":[[240,8]]}}}],["analysis",{"_index":1369,"t":{"54":{"position":[[275,8]]},"81":{"position":[[274,9],[673,8]]},"162":{"position":[[101,9]]},"339":{"position":[[172,8]]},"361":{"position":[[1581,9]]},"370":{"position":[[3039,9]]}}}],["analytics",{"_index":2355,"t":{"305":{"position":[[391,9]]},"337":{"position":[[298,9]]},"364":{"position":[[69,9],[471,9],[1706,9]]}}}],["analyze",{"_index":1947,"t":{"146":{"position":[[12,7]]}}}],["analyzed",{"_index":1361,"t":{"54":{"position":[[22,8]]}}}],["analyzing",{"_index":2524,"t":{"364":{"position":[[564,9]]}}}],["another",{"_index":1595,"t":{"101":{"position":[[167,8]]},"117":{"position":[[711,7]]},"179":{"position":[[560,7]]},"259":{"position":[[522,7]]}}}],["answer",{"_index":238,"t":{"11":{"position":[[1217,6]]},"21":{"position":[[1165,6]]},"23":{"position":[[1693,6]]},"52":{"position":[[355,6]]},"54":{"position":[[166,7]]},"58":{"position":[[613,6]]},"79":{"position":[[435,6],[607,6]]},"84":{"position":[[578,6]]},"101":{"position":[[93,6],[134,6],[204,6]]},"107":{"position":[[709,7]]},"117":{"position":[[272,7]]},"142":{"position":[[865,7]]},"144":{"position":[[1592,6]]},"168":{"position":[[67,6]]},"170":{"position":[[652,6]]},"172":{"position":[[65,6]]},"361":{"position":[[1189,6],[1217,6]]},"370":{"position":[[2112,6]]},"378":{"position":[[1982,6]]}}}],["answer(s",{"_index":2656,"t":{"378":{"position":[[2013,9]]}}}],["answered",{"_index":1542,"t":{"84":{"position":[[133,8]]},"87":{"position":[[35,8]]}}}],["answering",{"_index":545,"t":{"21":{"position":[[315,9]]}}}],["answers",{"_index":257,"t":{"11":{"position":[[1781,7]]},"21":{"position":[[1699,7]]},"107":{"position":[[539,7],[597,7]]},"144":{"position":[[2078,7]]}}}],["anything",{"_index":2375,"t":{"313":{"position":[[71,8]]}}}],["api",{"_index":168,"t":{"9":{"position":[[1204,3]]},"15":{"position":[[40,3],[445,3]]},"58":{"position":[[145,3],[238,4]]},"61":{"position":[[0,3]]},"67":{"position":[[16,3],[69,3]]},"71":{"position":[[93,3],[184,3],[215,3]]},"73":{"position":[[40,3]]},"75":{"position":[[91,4]]},"77":{"position":[[33,3],[49,3],[104,3],[174,3],[253,3],[307,3]]},"79":{"position":[[21,3],[577,3],[1187,3]]},"123":{"position":[[85,3]]},"125":{"position":[[40,3],[968,3]]},"164":{"position":[[943,3]]},"205":{"position":[[335,3]]},"227":{"position":[[122,3]]},"241":{"position":[[122,3]]},"255":{"position":[[122,3]]},"269":{"position":[[87,3]]},"303":{"position":[[122,3]]},"307":{"position":[[40,3],[134,3],[208,3]]},"331":{"position":[[122,3]]},"341":{"position":[[70,4]]},"361":{"position":[[57,3],[1573,3]]},"370":{"position":[[57,3],[3031,3]]},"378":{"position":[[123,3],[186,3],[260,3]]}}}],["api_2gdxmflhj",{"_index":1413,"t":{"61":{"position":[[81,16]]}}}],["apiexception",{"_index":1521,"t":{"81":{"position":[[926,14]]},"125":{"position":[[80,13],[187,13],[392,12]]},"129":{"position":[[73,13]]},"361":{"position":[[265,12],[1309,12]]}}}],["app",{"_index":156,"t":{"9":{"position":[[910,3],[1009,3]]},"13":{"position":[[2498,3]]}}}],["appear",{"_index":968,"t":{"27":{"position":[[1710,6]]},"111":{"position":[[358,6]]}}}],["appearing",{"_index":845,"t":{"23":{"position":[[4437,9]]}}}],["appendices",{"_index":1296,"t":{"43":{"position":[[855,10]]}}}],["appendix",{"_index":1206,"t":{"39":{"position":[[1884,8]]}}}],["apple",{"_index":2120,"t":{"183":{"position":[[163,5]]}}}],["application",{"_index":41,"t":{"3":{"position":[[516,11]]},"5":{"position":[[489,11]]},"7":{"position":[[4,11],[195,11]]},"9":{"position":[[69,11]]},"11":{"position":[[153,11],[338,11],[510,11],[646,11],[2454,11],[3132,11]]},"13":{"position":[[108,11],[287,11],[1324,11],[1553,11],[2018,11],[2093,11],[3524,11]]},"17":{"position":[[35,12],[161,11],[518,11]]},"101":{"position":[[597,11]]},"107":{"position":[[119,11],[250,11],[499,12]]},"111":{"position":[[121,11],[1080,12]]},"119":{"position":[[339,11],[973,11],[1052,11],[1136,11]]},"131":{"position":[[52,11],[185,12]]},"133":{"position":[[154,11]]},"135":{"position":[[136,11]]},"137":{"position":[[12,11]]},"139":{"position":[[124,11]]},"144":{"position":[[167,11]]},"237":{"position":[[150,11]]},"251":{"position":[[149,11]]},"305":{"position":[[59,11]]},"337":{"position":[[72,12]]},"355":{"position":[[163,12],[217,11]]},"361":{"position":[[112,12],[971,11],[1474,11]]},"364":{"position":[[30,11],[172,11],[481,11],[804,11],[1915,12]]},"370":{"position":[[112,12],[1375,11],[2932,11]]}}}],["application's",{"_index":271,"t":{"11":{"position":[[2134,13]]},"13":{"position":[[1517,13],[3441,13]]},"119":{"position":[[279,13]]},"142":{"position":[[1088,13]]}}}],["applications",{"_index":128,"t":{"9":{"position":[[231,12],[1319,12]]},"69":{"position":[[98,12]]},"79":{"position":[[1237,12]]},"81":{"position":[[118,12],[191,12],[356,12],[600,13],[1400,13],[1425,13],[1541,13],[1595,13],[1664,12]]},"123":{"position":[[14,12]]},"139":{"position":[[251,12]]},"187":{"position":[[240,12]]},"192":{"position":[[140,12]]},"227":{"position":[[164,12]]},"241":{"position":[[164,12]]},"255":{"position":[[164,12]]},"303":{"position":[[164,12]]},"331":{"position":[[164,12]]},"333":{"position":[[22,12]]},"335":{"position":[[492,12]]},"343":{"position":[[91,12]]},"378":{"position":[[581,13]]}}}],["applied",{"_index":700,"t":{"23":{"position":[[981,7]]}}}],["apply",{"_index":1009,"t":{"29":{"position":[[316,5]]},"81":{"position":[[1452,5]]},"283":{"position":[[121,5],[176,5]]}}}],["approach",{"_index":402,"t":{"13":{"position":[[2302,8]]},"17":{"position":[[320,9]]}}}],["appropriate",{"_index":287,"t":{"11":{"position":[[2523,11]]},"37":{"position":[[250,11]]},"133":{"position":[[21,11]]}}}],["approximate",{"_index":655,"t":{"21":{"position":[[2692,11]]}}}],["approximates",{"_index":1263,"t":{"41":{"position":[[1104,12]]}}}],["approximating",{"_index":1232,"t":{"41":{"position":[[217,13]]}}}],["approximation",{"_index":1235,"t":{"41":{"position":[[306,13],[1778,14]]}}}],["app’s",{"_index":147,"t":{"9":{"position":[[762,5]]}}}],["apt",{"_index":2223,"t":{"223":{"position":[[119,3],[135,3]]},"225":{"position":[[352,3],[393,3]]}}}],["arch",{"_index":2226,"t":{"223":{"position":[[245,4]]}}}],["architecture",{"_index":61,"t":{"3":{"position":[[776,12]]},"5":{"position":[[749,12]]},"9":{"position":[[557,12],[612,12]]},"11":{"position":[[49,12],[265,12],[3103,12]]},"13":{"position":[[550,12]]}}}],["arduino",{"_index":2286,"t":{"265":{"position":[[33,7],[223,8]]}}}],["area",{"_index":1326,"t":{"47":{"position":[[430,4],[556,4],[673,4]]},"364":{"position":[[1830,5]]}}}],["areas",{"_index":1328,"t":{"47":{"position":[[506,6],[722,6]]},"335":{"position":[[111,6]]},"364":{"position":[[1395,5],[1539,6]]}}}],["arm",{"_index":1723,"t":{"113":{"position":[[790,3]]},"235":{"position":[[114,3]]},"237":{"position":[[121,3]]},"249":{"position":[[114,3]]},"251":{"position":[[120,3]]},"279":{"position":[[7,3]]}}}],["arms",{"_index":2458,"t":{"351":{"position":[[93,5]]}}}],["armv7.yml",{"_index":2318,"t":{"279":{"position":[[87,10],[135,9]]}}}],["around",{"_index":339,"t":{"13":{"position":[[709,6]]},"23":{"position":[[4046,6]]},"43":{"position":[[426,6]]},"49":{"position":[[14,6]]},"196":{"position":[[249,6]]}}}],["array",{"_index":2057,"t":{"160":{"position":[[1184,6]]}}}],["arrays",{"_index":1970,"t":{"150":{"position":[[794,6]]},"154":{"position":[[91,7]]},"158":{"position":[[125,7]]},"160":{"position":[[47,7],[637,6],[930,6]]}}}],["arrived",{"_index":406,"t":{"13":{"position":[[2696,7],[3116,7]]}}}],["arrives",{"_index":298,"t":{"11":{"position":[[2981,8]]}}}],["ask",{"_index":1541,"t":{"84":{"position":[[26,3]]},"93":{"position":[[126,3]]}}}],["ask.py",{"_index":1409,"t":{"58":{"position":[[321,6],[661,6]]},"79":{"position":[[78,6],[520,7]]}}}],["ask_async",{"_index":218,"t":{"11":{"position":[[843,9]]},"117":{"position":[[139,9],[195,9],[402,9]]},"121":{"position":[[826,11]]},"166":{"position":[[141,10]]},"170":{"position":[[0,9]]},"172":{"position":[[352,9]]}}}],["ask_confident",{"_index":1786,"t":{"121":{"position":[[402,15]]},"166":{"position":[[114,14]]},"168":{"position":[[0,13]]},"172":{"position":[[331,13]]}}}],["ask_ml",{"_index":2081,"t":{"166":{"position":[[129,7]]},"172":{"position":[[0,6],[182,6]]}}}],["assembly",{"_index":2444,"t":{"347":{"position":[[251,9]]}}}],["assert",{"_index":1790,"t":{"121":{"position":[[772,6]]}}}],["assessing",{"_index":1277,"t":{"43":{"position":[[59,9]]}}}],["assessment",{"_index":1890,"t":{"142":{"position":[[296,10]]}}}],["assist",{"_index":2431,"t":{"345":{"position":[[45,6]]}}}],["assistance",{"_index":2289,"t":{"265":{"position":[[159,10]]}}}],["associated",{"_index":725,"t":{"23":{"position":[[1632,10]]},"25":{"position":[[818,10]]},"29":{"position":[[679,10]]}}}],["assume",{"_index":1742,"t":{"117":{"position":[[747,6]]},"119":{"position":[[327,6]]}}}],["assuming",{"_index":1339,"t":{"49":{"position":[[373,9]]},"213":{"position":[[0,8]]},"233":{"position":[[0,8]]},"247":{"position":[[0,8]]},"291":{"position":[[0,8]]},"319":{"position":[[0,8]]}}}],["assumption",{"_index":717,"t":{"23":{"position":[[1340,10]]}}}],["assumptions",{"_index":679,"t":{"23":{"position":[[397,12]]}}}],["async",{"_index":1781,"t":{"121":{"position":[[160,5],[745,5]]}}}],["asynchronous",{"_index":1523,"t":{"81":{"position":[[981,12],[1039,12]]},"115":{"position":[[55,12]]}}}],["asynchronously",{"_index":1524,"t":{"81":{"position":[[1089,14]]},"117":{"position":[[114,14]]},"121":{"position":[[31,15]]},"170":{"position":[[63,15],[345,14],[785,15]]}}}],["attached",{"_index":439,"t":{"15":{"position":[[531,8]]}}}],["attempting",{"_index":1780,"t":{"121":{"position":[[94,10]]}}}],["attention",{"_index":2479,"t":{"355":{"position":[[387,9]]}}}],["audio",{"_index":2420,"t":{"339":{"position":[[181,5]]}}}],["audit",{"_index":2108,"t":{"179":{"position":[[510,5]]}}}],["auroc",{"_index":585,"t":{"21":{"position":[[1073,6]]}}}],["authenticate",{"_index":1411,"t":{"61":{"position":[[11,12]]}}}],["authentication",{"_index":434,"t":{"15":{"position":[[152,15],[494,15]]}}}],["authoritative",{"_index":2109,"t":{"179":{"position":[[637,14]]}}}],["automate",{"_index":2382,"t":{"335":{"position":[[135,8]]}}}],["automated",{"_index":2405,"t":{"337":{"position":[[176,9]]},"341":{"position":[[26,9]]}}}],["automatically",{"_index":461,"t":{"15":{"position":[[1103,13]]},"17":{"position":[[685,13]]},"54":{"position":[[73,13]]},"61":{"position":[[262,13]]},"107":{"position":[[884,13]]},"135":{"position":[[183,14]]},"235":{"position":[[142,13]]},"249":{"position":[[142,13]]}}}],["automating",{"_index":2432,"t":{"345":{"position":[[55,10]]}}}],["automation",{"_index":2386,"t":{"335":{"position":[[214,11]]},"339":{"position":[[22,10]]},"343":{"position":[[148,10]]},"347":{"position":[[60,10]]}}}],["available",{"_index":658,"t":{"21":{"position":[[2909,10]]},"31":{"position":[[2165,9]]},"43":{"position":[[581,9]]},"111":{"position":[[570,9]]},"121":{"position":[[452,9]]},"196":{"position":[[308,9]]},"265":{"position":[[84,9]]},"269":{"position":[[95,10]]},"364":{"position":[[713,9]]}}}],["average",{"_index":572,"t":{"21":{"position":[[777,7]]},"37":{"position":[[1120,7]]}}}],["averaged",{"_index":1222,"t":{"39":{"position":[[2911,8]]}}}],["averages",{"_index":1225,"t":{"39":{"position":[[3040,8]]}}}],["averaging",{"_index":1217,"t":{"39":{"position":[[2405,9]]}}}],["avoid",{"_index":1850,"t":{"129":{"position":[[87,5]]}}}],["avoiding",{"_index":327,"t":{"13":{"position":[[467,8]]}}}],["await",{"_index":441,"t":{"15":{"position":[[576,5]]}}}],["away",{"_index":1373,"t":{"54":{"position":[[392,4]]},"370":{"position":[[1539,4]]}}}],["aws",{"_index":2308,"t":{"275":{"position":[[254,3]]}}}],["axes",{"_index":1721,"t":{"113":{"position":[[548,4]]}}}],["axis",{"_index":920,"t":{"25":{"position":[[1350,4],[1410,4],[1559,5]]},"113":{"position":[[396,5]]}}}],["b13vgk",{"_index":1697,"t":{"113":{"position":[[125,6]]}}}],["back",{"_index":498,"t":{"19":{"position":[[60,5]]},"33":{"position":[[10,4]]},"54":{"position":[[617,4]]},"378":{"position":[[2290,4]]}}}],["background",{"_index":2373,"t":{"311":{"position":[[1091,11]]},"378":{"position":[[1386,10]]}}}],["backoff",{"_index":1864,"t":{"135":{"position":[[41,7]]}}}],["bad",{"_index":1556,"t":{"84":{"position":[[721,3]]},"125":{"position":[[671,3]]}}}],["balance",{"_index":1885,"t":{"142":{"position":[[187,7]]},"144":{"position":[[1741,7]]},"160":{"position":[[1573,7]]}}}],["balanced",{"_index":571,"t":{"21":{"position":[[733,8],[752,8],[986,8],[1414,8],[1537,8],[1898,8],[2069,8],[2254,8],[3054,8]]},"23":{"position":[[51,8]]},"31":{"position":[[191,8]]},"35":{"position":[[1234,8]]},"37":{"position":[[16,8],[212,8],[1079,8]]},"39":{"position":[[57,8],[2384,8],[2960,8],[2993,8]]},"43":{"position":[[204,8],[433,8]]},"45":{"position":[[161,8]]},"49":{"position":[[827,8]]}}}],["balena",{"_index":1664,"t":{"109":{"position":[[157,7]]}}}],["bars",{"_index":640,"t":{"21":{"position":[[2413,4]]}}}],["bar{p}(n",{"_index":1053,"t":{"31":{"position":[[1544,12]]}}}],["based",{"_index":272,"t":{"11":{"position":[[2154,5]]},"13":{"position":[[3343,5]]},"15":{"position":[[267,5]]},"21":{"position":[[2725,5],[2814,5]]},"33":{"position":[[228,5]]},"39":{"position":[[93,5],[541,5]]},"41":{"position":[[1675,5],[1758,5]]},"81":{"position":[[1482,5]]},"87":{"position":[[86,5]]},"99":{"position":[[39,5]]},"113":{"position":[[803,5]]},"115":{"position":[[427,5]]},"119":{"position":[[266,5],[868,5],[959,5],[1038,5],[1122,5]]},"142":{"position":[[1074,5]]},"152":{"position":[[945,5]]},"223":{"position":[[99,5],[201,5]]},"265":{"position":[[41,5]]},"335":{"position":[[31,5]]},"343":{"position":[[24,5]]},"364":{"position":[[1909,5]]}}}],["basics",{"_index":2240,"t":{"225":{"position":[[381,6]]}}}],["basler",{"_index":1959,"t":{"150":{"position":[[277,6],[297,6]]}}}],["bayesian",{"_index":1341,"t":{"49":{"position":[[723,8]]}}}],["become",{"_index":259,"t":{"11":{"position":[[1844,6],[2012,6]]},"17":{"position":[[366,6]]},"144":{"position":[[2013,6]]},"345":{"position":[[297,6]]}}}],["becomes",{"_index":13,"t":{"3":{"position":[[178,7]]},"5":{"position":[[151,7]]},"144":{"position":[[662,7]]}}}],["before",{"_index":1447,"t":{"69":{"position":[[128,6]]},"117":{"position":[[1389,6]]},"160":{"position":[[1018,6],[1226,6]]},"281":{"position":[[0,6]]},"361":{"position":[[1432,6]]}}}],["begin",{"_index":2134,"t":{"187":{"position":[[216,5]]},"275":{"position":[[3,6]]},"311":{"position":[[276,5],[706,5]]},"378":{"position":[[2325,5]]}}}],["behavior",{"_index":2530,"t":{"364":{"position":[[853,9]]}}}],["behaviors",{"_index":1877,"t":{"137":{"position":[[176,10]]}}}],["behind",{"_index":646,"t":{"21":{"position":[[2524,6]]}}}],["being",{"_index":875,"t":{"25":{"position":[[387,5]]},"364":{"position":[[240,5]]},"378":{"position":[[1142,5]]}}}],["bell",{"_index":917,"t":{"25":{"position":[[1330,5],[1765,4]]}}}],["below",{"_index":808,"t":{"23":{"position":[[3492,5]]},"25":{"position":[[1173,5],[1844,6]]},"27":{"position":[[778,5],[1841,5]]},"31":{"position":[[2635,6]]},"35":{"position":[[727,6]]},"39":{"position":[[2885,6]]},"43":{"position":[[866,6]]},"47":{"position":[[407,5]]},"181":{"position":[[177,6]]},"223":{"position":[[182,7]]}}}],["belt",{"_index":1547,"t":{"84":{"position":[[368,4],[434,6]]}}}],["benchmark",{"_index":1717,"t":{"113":{"position":[[406,9]]}}}],["benchmarked",{"_index":1690,"t":{"113":{"position":[[8,11]]}}}],["beneficial",{"_index":198,"t":{"11":{"position":[[294,10]]},"364":{"position":[[500,10]]}}}],["benefit",{"_index":1227,"t":{"41":{"position":[[9,7]]}}}],["best",{"_index":1845,"t":{"127":{"position":[[52,4]]},"139":{"position":[[199,4]]},"172":{"position":[[392,4]]}}}],["better",{"_index":855,"t":{"23":{"position":[[4671,6]]},"43":{"position":[[647,6]]},"179":{"position":[[285,6]]}}}],["between",{"_index":1638,"t":{"107":{"position":[[106,7]]},"131":{"position":[[113,7]]},"142":{"position":[[210,7]]},"351":{"position":[[181,7]]}}}],["bgr",{"_index":1971,"t":{"150":{"position":[[804,3]]},"158":{"position":[[158,3]]},"160":{"position":[[100,3],[463,3],[530,3],[572,3],[675,3],[754,3],[1312,3]]}}}],["bgr_img",{"_index":2059,"t":{"160":{"position":[[1322,7]]}}}],["bias",{"_index":862,"t":{"25":{"position":[[163,4],[551,5],[1037,4],[1868,4]]},"31":{"position":[[376,4]]}}}],["biased",{"_index":883,"t":{"25":{"position":[[533,6]]},"27":{"position":[[106,6]]},"31":{"position":[[358,6]]},"33":{"position":[[156,6]]}}}],["binary",{"_index":321,"t":{"13":{"position":[[368,6]]},"21":{"position":[[862,6]]},"23":{"position":[[1643,6]]},"37":{"position":[[40,6]]},"84":{"position":[[105,6],[654,6]]},"87":{"position":[[17,6]]},"95":{"position":[[14,6]]},"97":{"position":[[23,7]]},"196":{"position":[[53,6]]},"279":{"position":[[30,6]]},"378":{"position":[[281,6]]}}}],["binary_classification",{"_index":1499,"t":{"79":{"position":[[1092,25]]}}}],["binom",{"_index":1082,"t":{"31":{"position":[[2666,5]]}}}],["binom.cdf",{"_index":1067,"t":{"31":{"position":[[2219,10]]}}}],["binom.cdf(k",{"_index":1087,"t":{"31":{"position":[[2867,12]]}}}],["binomial",{"_index":648,"t":{"21":{"position":[[2583,8],[2827,8]]},"25":{"position":[[416,8],[1240,8],[1726,8],[1804,8]]},"27":{"position":[[803,8],[1323,8],[1502,8],[2390,8],[3117,8]]},"31":{"position":[[1460,8],[2149,8]]},"33":{"position":[[820,8]]},"39":{"position":[[554,8]]},"41":{"position":[[50,8],[235,8],[382,8],[1688,8]]}}}],["binomial's",{"_index":1006,"t":{"29":{"position":[[147,10]]},"31":{"position":[[233,10]]}}}],["binomial_upper_bound(n",{"_index":1083,"t":{"31":{"position":[[2676,23]]}}}],["bird",{"_index":2634,"t":{"372":{"position":[[173,4],[230,4]]},"374":{"position":[[128,4]]},"378":{"position":[[352,4],[773,4],[1735,4],[1898,5],[1927,4],[2143,4],[2417,4]]}}}],["birds",{"_index":2423,"t":{"341":{"position":[[201,5]]}}}],["birdwatching",{"_index":2642,"t":{"378":{"position":[[520,12]]}}}],["bisection",{"_index":1081,"t":{"31":{"position":[[2599,9]]}}}],["bit",{"_index":4,"t":{"3":{"position":[[68,3]]},"5":{"position":[[41,3]]},"7":{"position":[[764,3]]},"13":{"position":[[1822,3]]},"27":{"position":[[1886,3]]},"279":{"position":[[3,3]]}}}],["black",{"_index":826,"t":{"23":{"position":[[3855,5]]},"89":{"position":[[91,5]]}}}],["blocked",{"_index":1811,"t":{"125":{"position":[[320,10]]}}}],["blocking",{"_index":209,"t":{"11":{"position":[[589,8]]}}}],["blog",{"_index":630,"t":{"21":{"position":[[2127,4],[2488,4]]}}}],["blue",{"_index":824,"t":{"23":{"position":[[3792,4]]},"160":{"position":[[1407,4]]}}}],["board",{"_index":2259,"t":{"257":{"position":[[84,6]]},"259":{"position":[[108,6],[229,5],[341,6]]}}}],["boards",{"_index":2275,"t":{"263":{"position":[[26,7],[51,6]]}}}],["body",{"_index":2567,"t":{"370":{"position":[[808,6]]}}}],["body=daily_summary",{"_index":2627,"t":{"370":{"position":[[2874,19]]}}}],["boilerplate",{"_index":433,"t":{"15":{"position":[[130,11]]}}}],["bool",{"_index":369,"t":{"13":{"position":[[1200,6],[1269,5]]}}}],["bot",{"_index":166,"t":{"9":{"position":[[1132,3],[1200,3]]},"11":{"position":[[2677,4],[2863,4],[2901,4],[2994,3]]},"15":{"position":[[36,3],[192,3],[301,3],[441,3],[688,4],[836,3],[914,3],[1093,3]]}}}],["both",{"_index":1273,"t":{"41":{"position":[[1705,4]]},"144":{"position":[[105,4]]}}}],["bottlenecks",{"_index":2441,"t":{"347":{"position":[[97,12]]}}}],["bottom",{"_index":961,"t":{"27":{"position":[[1350,8],[2417,8],[3144,8]]},"35":{"position":[[888,7]]}}}],["bound",{"_index":635,"t":{"21":{"position":[[2232,5],[2990,6]]},"23":{"position":[[1211,5]]},"27":{"position":[[253,5],[492,5],[710,6],[1696,5],[1777,5],[1812,6],[3510,6]]},"29":{"position":[[269,5],[753,5]]},"31":{"position":[[554,6],[663,6],[693,5],[726,6],[844,5],[1104,6],[1486,5],[1955,6],[2759,5]]},"33":{"position":[[313,5],[400,5],[517,5],[561,5],[846,5]]},"35":{"position":[[393,5]]},"39":{"position":[[47,5],[1875,5],[2127,5]]},"41":{"position":[[199,5],[1406,5]]},"47":{"position":[[22,5],[372,5],[545,6]]},"49":{"position":[[122,5],[210,6],[282,5],[515,6],[603,5]]}}}],["bounded",{"_index":1102,"t":{"33":{"position":[[195,7]]},"39":{"position":[[3014,7]]}}}],["bounding",{"_index":1199,"t":{"39":{"position":[[1650,8]]},"49":{"position":[[354,8]]},"196":{"position":[[234,8]]}}}],["bounds",{"_index":1010,"t":{"29":{"position":[[386,6],[457,6],[712,7]]},"31":{"position":[[92,7],[746,6],[1260,7]]},"33":{"position":[[85,6]]},"35":{"position":[[47,6],[162,6],[592,7],[812,6],[870,6],[913,6],[979,6],[1124,6]]},"39":{"position":[[493,6],[597,6],[1807,6],[1955,6],[2085,7],[2251,6],[2373,6],[2446,6],[2936,6],[3072,6]]},"41":{"position":[[26,6]]}}}],["box",{"_index":2331,"t":{"281":{"position":[[283,3]]}}}],["boxes",{"_index":1548,"t":{"84":{"position":[[373,7],[412,5]]},"196":{"position":[[243,5]]}}}],["break",{"_index":376,"t":{"13":{"position":[[1407,5]]}}}],["brew",{"_index":2378,"t":{"329":{"position":[[117,4]]}}}],["brief",{"_index":1295,"t":{"43":{"position":[[849,5]]}}}],["brings",{"_index":628,"t":{"21":{"position":[[2094,6]]}}}],["broad",{"_index":1852,"t":{"129":{"position":[[102,5]]}}}],["brodersen",{"_index":1303,"t":{"45":{"position":[[132,10]]},"49":{"position":[[756,9]]}}}],["broken",{"_index":137,"t":{"9":{"position":[[628,6]]},"11":{"position":[[661,6]]}}}],["browser",{"_index":2266,"t":{"259":{"position":[[374,7],[530,7]]},"285":{"position":[[200,7]]}}}],["brush",{"_index":231,"t":{"11":{"position":[[1117,6]]}}}],["build",{"_index":119,"t":{"9":{"position":[[39,5]]},"52":{"position":[[0,5]]},"81":{"position":[[105,5]]},"123":{"position":[[143,5]]},"127":{"position":[[92,5]]},"203":{"position":[[223,5]]},"313":{"position":[[110,5]]},"339":{"position":[[243,5]]}}}],["building",{"_index":175,"t":{"9":{"position":[[1310,8]]},"79":{"position":[[1228,8]]},"81":{"position":[[347,8],[1639,8]]},"123":{"position":[[5,8]]},"227":{"position":[[155,8]]},"241":{"position":[[155,8]]},"255":{"position":[[155,8]]},"263":{"position":[[95,8]]},"303":{"position":[[155,8]]},"331":{"position":[[155,8]]}}}],["built",{"_index":490,"t":{"17":{"position":[[643,5]]},"152":{"position":[[257,5]]}}}],["bunch",{"_index":2188,"t":{"203":{"position":[[25,5]]}}}],["busier",{"_index":2531,"t":{"364":{"position":[[871,6]]}}}],["business",{"_index":426,"t":{"13":{"position":[[3487,9]]},"196":{"position":[[326,9]]}}}],["business's",{"_index":2582,"t":{"370":{"position":[[1137,10]]}}}],["button",{"_index":1592,"t":{"99":{"position":[[297,7]]},"309":{"position":[[96,7]]}}}],["c",{"_index":2210,"t":{"217":{"position":[[125,1]]},"295":{"position":[[125,1]]},"323":{"position":[[125,1]]}}}],["cable",{"_index":2262,"t":{"259":{"position":[[265,6]]}}}],["calibrated",{"_index":1891,"t":{"142":{"position":[[365,10]]}}}],["calibration",{"_index":1896,"t":{"142":{"position":[[675,11]]}}}],["call",{"_index":721,"t":{"23":{"position":[[1493,4]]},"71":{"position":[[194,4]]},"79":{"position":[[0,4]]},"125":{"position":[[44,5]]},"142":{"position":[[119,4]]},"150":{"position":[[505,4]]},"175":{"position":[[203,5]]}}}],["called",{"_index":779,"t":{"23":{"position":[[2922,6]]},"35":{"position":[[255,6]]},"105":{"position":[[372,6]]},"172":{"position":[[175,6]]}}}],["calling",{"_index":2086,"t":{"170":{"position":[[101,7]]}}}],["calls",{"_index":1798,"t":{"123":{"position":[[89,6]]}}}],["cam",{"_index":2014,"t":{"158":{"position":[[326,3]]},"263":{"position":[[272,3]]}}}],["cam.read",{"_index":2019,"t":{"158":{"position":[[408,10]]}}}],["cam.release",{"_index":2021,"t":{"158":{"position":[[510,13]]}}}],["camera",{"_index":57,"t":{"3":{"position":[[723,6]]},"5":{"position":[[696,6]]},"9":{"position":[[327,6],[365,6]]},"11":{"position":[[754,6],[1477,6]]},"101":{"position":[[669,6]]},"115":{"position":[[311,6]]},"117":{"position":[[971,6]]},"146":{"position":[[85,6]]},"150":{"position":[[625,6]]},"158":{"position":[[365,6],[538,6]]},"187":{"position":[[85,6]]},"257":{"position":[[77,6]]},"259":{"position":[[101,6],[222,6],[334,6]]},"263":{"position":[[192,6],[241,6]]},"269":{"position":[[52,6]]},"271":{"position":[[435,6]]},"305":{"position":[[499,6]]},"357":{"position":[[79,6]]},"361":{"position":[[325,6]]},"364":{"position":[[1768,6],[1840,6]]},"366":{"position":[[79,6]]},"370":{"position":[[424,6]]}}}],["cameras",{"_index":81,"t":{"7":{"position":[[182,8]]},"9":{"position":[[270,7]]},"11":{"position":[[415,8],[459,7]]},"150":{"position":[[52,7],[195,7],[288,8],[309,8],[344,8]]},"160":{"position":[[784,7]]},"380":{"position":[[307,8]]}}}],["campaigns",{"_index":2538,"t":{"364":{"position":[[1001,9]]}}}],["can't",{"_index":1074,"t":{"31":{"position":[[2382,5]]}}}],["cap",{"_index":2485,"t":{"361":{"position":[[367,3]]},"370":{"position":[[466,3]]}}}],["cap.read",{"_index":2487,"t":{"361":{"position":[[406,10]]},"370":{"position":[[505,10]]}}}],["cap.release",{"_index":2488,"t":{"361":{"position":[[417,13]]},"370":{"position":[[516,13]]}}}],["capabilities",{"_index":1540,"t":{"81":{"position":[[1734,13]]},"333":{"position":[[72,12]]},"335":{"position":[[410,12]]},"339":{"position":[[230,12]]},"351":{"position":[[142,12]]}}}],["capture",{"_index":1948,"t":{"146":{"position":[[63,7],[147,7]]},"150":{"position":[[416,7],[531,7]]},"158":{"position":[[421,7]]},"339":{"position":[[160,7]]},"341":{"position":[[99,7]]},"361":{"position":[[299,7],[1395,7]]},"370":{"position":[[398,7],[1902,7]]}}}],["capture_image",{"_index":2484,"t":{"361":{"position":[[350,16],[1090,15],[1514,13]]},"370":{"position":[[449,16],[1855,15],[2972,13]]}}}],["captured",{"_index":1983,"t":{"152":{"position":[[444,8],[779,11]]},"162":{"position":[[37,8]]}}}],["capturer",{"_index":214,"t":{"11":{"position":[[703,9],[1390,9],[1449,8],[1740,8],[1947,8]]}}}],["captures",{"_index":215,"t":{"11":{"position":[[731,8]]},"361":{"position":[[1486,8]]},"370":{"position":[[2944,8]]}}}],["capturing",{"_index":2302,"t":{"271":{"position":[[408,9]]}}}],["car",{"_index":1477,"t":{"79":{"position":[[245,3],[687,3]]},"84":{"position":[[196,3]]},"152":{"position":[[214,3]]}}}],["cardboard",{"_index":1550,"t":{"84":{"position":[[402,9]]}}}],["care",{"_index":554,"t":{"21":{"position":[[448,4],[521,4]]}}}],["careful",{"_index":528,"t":{"21":{"position":[[23,7]]}}}],["cars",{"_index":2166,"t":{"196":{"position":[[529,4]]}}}],["case",{"_index":534,"t":{"21":{"position":[[121,5]]},"23":{"position":[[435,4],[4337,5]]},"49":{"position":[[442,5],[541,5]]},"142":{"position":[[110,5]]}}}],["cases",{"_index":565,"t":{"21":{"position":[[612,5]]},"29":{"position":[[564,6]]},"49":{"position":[[311,5]]},"81":{"position":[[220,6]]},"111":{"position":[[440,6]]},"144":{"position":[[8,6]]}}}],["casual",{"_index":2643,"t":{"378":{"position":[[546,6]]}}}],["catch",{"_index":1847,"t":{"129":{"position":[[0,5]]},"139":{"position":[[84,5]]}}}],["catching",{"_index":1851,"t":{"129":{"position":[[93,8]]}}}],["categories",{"_index":2169,"t":{"198":{"position":[[45,11]]}}}],["cause",{"_index":2200,"t":{"207":{"position":[[123,5]]}}}],["cd",{"_index":2306,"t":{"275":{"position":[[177,2]]},"285":{"position":[[105,2]]}}}],["cdf",{"_index":900,"t":{"25":{"position":[[805,5],[1070,3],[1212,3],[1476,3],[1569,3]]},"27":{"position":[[1346,3],[1398,3],[1491,3],[2413,3],[2465,3],[3140,3],[3192,3]]},"31":{"position":[[244,3],[2017,3],[2158,3],[2345,3]]},"39":{"position":[[563,4]]},"41":{"position":[[59,3],[1697,3]]}}}],["cdf(mid",{"_index":1094,"t":{"31":{"position":[[3001,8]]}}}],["cdf(p",{"_index":1086,"t":{"31":{"position":[[2852,7]]}}}],["celebrates",{"_index":519,"t":{"19":{"position":[[423,10]]}}}],["celebrating",{"_index":108,"t":{"7":{"position":[[631,11]]}}}],["centers",{"_index":2436,"t":{"345":{"position":[[154,8]]}}}],["central",{"_index":1123,"t":{"35":{"position":[[264,7],[322,7],[519,7],[699,7],[759,7],[1081,7],[1201,7]]},"41":{"position":[[335,7]]}}}],["certain",{"_index":1920,"t":{"144":{"position":[[409,7],[593,7]]},"164":{"position":[[620,7]]}}}],["challenging",{"_index":413,"t":{"13":{"position":[[3235,11]]},"107":{"position":[[786,11]]},"144":{"position":[[15,11]]}}}],["chance",{"_index":112,"t":{"7":{"position":[[699,6]]},"27":{"position":[[1052,6],[1423,6],[1540,6],[1935,6],[2492,6],[3216,6]]}}}],["change",{"_index":477,"t":{"17":{"position":[[294,6]]},"152":{"position":[[1046,7]]},"160":{"position":[[1070,6]]},"170":{"position":[[566,6]]},"285":{"position":[[300,6]]}}}],["changed",{"_index":1994,"t":{"152":{"position":[[989,8]]}}}],["changes",{"_index":1594,"t":{"101":{"position":[[141,7],[189,7]]},"152":{"position":[[153,7]]}}}],["changing",{"_index":2277,"t":{"263":{"position":[[133,8]]}}}],["channel",{"_index":2043,"t":{"160":{"position":[[430,7],[515,7],[1004,7],[1212,7],[1295,7]]}}}],["channel.send(\"message",{"_index":442,"t":{"15":{"position":[[582,23]]}}}],["channels=wf.getnchannels",{"_index":2499,"t":{"361":{"position":[[754,27]]}}}],["characterizes",{"_index":878,"t":{"25":{"position":[[449,13]]}}}],["check",{"_index":384,"t":{"13":{"position":[[1576,5],[2734,5]]},"19":{"position":[[295,5]]},"79":{"position":[[1205,5]]},"152":{"position":[[462,5]]},"175":{"position":[[29,5]]},"217":{"position":[[3,5]]},"221":{"position":[[3,5]]},"295":{"position":[[3,5]]},"299":{"position":[[3,5]]},"323":{"position":[[3,5]]},"327":{"position":[[3,5]]}}}],["checker",{"_index":1808,"t":{"125":{"position":[[279,9]]}}}],["checking",{"_index":2215,"t":{"219":{"position":[[259,9]]},"297":{"position":[[259,9]]},"325":{"position":[[259,9]]},"361":{"position":[[1439,8]]}}}],["checks",{"_index":392,"t":{"13":{"position":[[1849,6],[2105,6]]},"364":{"position":[[273,6]]}}}],["cheesy",{"_index":114,"t":{"7":{"position":[[739,7]]}}}],["choice",{"_index":841,"t":{"23":{"position":[[4347,6]]},"27":{"position":[[689,6],[1670,6],[3490,6]]}}}],["choose",{"_index":893,"t":{"25":{"position":[[718,7]]},"378":{"position":[[2023,6]]}}}],["chose",{"_index":262,"t":{"11":{"position":[[1889,5]]}}}],["chrome",{"_index":2270,"t":{"259":{"position":[[512,6]]}}}],["chunk",{"_index":2492,"t":{"361":{"position":[[620,5]]}}}],["circled",{"_index":840,"t":{"23":{"position":[[4275,7]]}}}],["circles",{"_index":832,"t":{"23":{"position":[[4038,7]]}}}],["class",{"_index":360,"t":{"13":{"position":[[1069,5]]},"21":{"position":[[1304,5],[1440,5]]},"37":{"position":[[116,5],[169,6],[300,6],[348,5],[781,5]]},"39":{"position":[[2483,5]]},"198":{"position":[[80,5]]}}}],["class_names",{"_index":2170,"t":{"198":{"position":[[172,11]]}}}],["class_names=class_names",{"_index":2180,"t":{"198":{"position":[[344,23]]}}}],["classes",{"_index":573,"t":{"21":{"position":[[803,7]]},"131":{"position":[[35,7]]}}}],["classification",{"_index":1101,"t":{"33":{"position":[[136,14]]},"45":{"position":[[61,15]]},"196":{"position":[[60,14]]}}}],["classifications",{"_index":1060,"t":{"31":{"position":[[1824,15]]}}}],["classified",{"_index":802,"t":{"23":{"position":[[3426,10]]},"27":{"position":[[150,10],[446,10]]},"31":{"position":[[1369,10]]},"33":{"position":[[711,10]]},"39":{"position":[[347,10],[431,10]]}}}],["classifier",{"_index":674,"t":{"23":{"position":[[260,10],[449,10],[787,10],[1249,10],[1418,10],[1536,10],[1834,10],[3809,11]]},"27":{"position":[[286,10],[419,11],[932,10]]},"31":{"position":[[2786,10]]},"37":{"position":[[47,10]]},"39":{"position":[[82,10]]}}}],["classifier's",{"_index":688,"t":{"23":{"position":[[590,12],[667,12],[890,12]]},"25":{"position":[[47,12],[363,12]]},"27":{"position":[[980,12]]}}}],["classifiers",{"_index":1011,"t":{"29":{"position":[[410,11],[507,12]]},"41":{"position":[[1521,11]]}}}],["classifies",{"_index":740,"t":{"23":{"position":[[1978,10],[2249,10],[2908,10],[3903,10]]},"31":{"position":[[2812,10]]}}}],["classify",{"_index":2168,"t":{"198":{"position":[[15,8]]}}}],["classifying",{"_index":870,"t":{"25":{"position":[[260,11]]}}}],["clean",{"_index":76,"t":{"7":{"position":[[104,5]]},"11":{"position":[[2337,5]]}}}],["cleaning",{"_index":19,"t":{"3":{"position":[[246,8]]},"5":{"position":[[219,8]]},"11":{"position":[[1084,8]]},"19":{"position":[[468,8]]}}}],["cleanliness",{"_index":1579,"t":{"97":{"position":[[31,13]]}}}],["clear",{"_index":20,"t":{"3":{"position":[[269,5]]},"5":{"position":[[242,5]]},"33":{"position":[[56,5]]},"95":{"position":[[96,5]]},"156":{"position":[[213,7],[240,8]]},"364":{"position":[[1812,5]]}}}],["clearly",{"_index":1268,"t":{"41":{"position":[[1480,7]]}}}],["click",{"_index":1441,"t":{"67":{"position":[[55,5]]},"69":{"position":[[41,5]]},"259":{"position":[[272,5]]},"281":{"position":[[287,5],[312,5]]},"309":{"position":[[176,5]]},"378":{"position":[[1820,5],[2243,5]]}}}],["clicking",{"_index":1591,"t":{"99":{"position":[[267,8]]},"309":{"position":[[70,8]]}}}],["clicks",{"_index":2261,"t":{"259":{"position":[[158,7]]}}}],["client",{"_index":1913,"t":{"144":{"position":[[110,6],[256,6],[366,6],[1458,6]]}}}],["clients",{"_index":1719,"t":{"113":{"position":[[499,7]]}}}],["clone",{"_index":2303,"t":{"275":{"position":[[10,5],[105,5]]},"285":{"position":[[37,5]]}}}],["close",{"_index":1092,"t":{"31":{"position":[[2962,5]]},"41":{"position":[[1171,5],[1544,5],[1607,5]]}}}],["cloud",{"_index":1636,"t":{"105":{"position":[[572,5]]},"107":{"position":[[151,5],[302,5],[411,6],[573,5],[682,5]]},"111":{"position":[[100,5],[384,5],[496,5]]},"175":{"position":[[88,5]]}}}],["clouds",{"_index":1575,"t":{"93":{"position":[[147,6]]}}}],["cluster",{"_index":2334,"t":{"283":{"position":[[76,7]]}}}],["clutter",{"_index":1583,"t":{"97":{"position":[[136,7]]}}}],["cnc",{"_index":2384,"t":{"335":{"position":[[165,3],[451,3]]},"345":{"position":[[132,3]]},"351":{"position":[[269,3]]}}}],["cobot",{"_index":2397,"t":{"335":{"position":[[383,5]]},"351":{"position":[[79,5]]}}}],["code",{"_index":79,"t":{"7":{"position":[[165,6]]},"19":{"position":[[316,5]]},"31":{"position":[[2139,5]]},"61":{"position":[[29,4]]},"63":{"position":[[78,4]]},"79":{"position":[[501,4],[532,4]]},"81":{"position":[[144,5]]},"105":{"position":[[611,4]]},"121":{"position":[[276,4]]},"123":{"position":[[156,4]]},"125":{"position":[[593,4],[618,5]]},"127":{"position":[[105,5]]},"160":{"position":[[273,4]]},"179":{"position":[[245,4]]},"257":{"position":[[35,4]]},"265":{"position":[[11,4]]},"267":{"position":[[191,4]]}}}],["codes",{"_index":1826,"t":{"125":{"position":[[658,6]]}}}],["coin",{"_index":865,"t":{"25":{"position":[[189,4],[311,5],[325,4],[540,4]]},"27":{"position":[[43,4],[113,4]]},"31":{"position":[[365,4]]},"33":{"position":[[36,4],[163,4]]}}}],["coin's",{"_index":906,"t":{"25":{"position":[[1030,6]]}}}],["collaboration",{"_index":2460,"t":{"351":{"position":[[167,13]]}}}],["collaborative",{"_index":2398,"t":{"335":{"position":[[426,13]]}}}],["colleague",{"_index":521,"t":{"19":{"position":[[442,10]]}}}],["colleagues",{"_index":489,"t":{"17":{"position":[[627,10]]}}}],["collected",{"_index":1899,"t":{"142":{"position":[[750,10],[1480,10]]}}}],["collection",{"_index":1316,"t":{"47":{"position":[[46,10]]}}}],["collects",{"_index":299,"t":{"11":{"position":[[2998,8]]},"15":{"position":[[305,8]]}}}],["color",{"_index":822,"t":{"23":{"position":[[3768,5]]},"160":{"position":[[104,5],[758,5],[1567,5]]}}}],["colored",{"_index":639,"t":{"21":{"position":[[2405,7]]}}}],["combination",{"_index":320,"t":{"13":{"position":[[353,11]]}}}],["combine",{"_index":2376,"t":{"313":{"position":[[150,7]]}}}],["combined",{"_index":2354,"t":{"305":{"position":[[333,8]]}}}],["combines",{"_index":135,"t":{"9":{"position":[[479,8]]},"56":{"position":[[36,8]]}}}],["come",{"_index":1383,"t":{"54":{"position":[[612,4]]}}}],["comes",{"_index":107,"t":{"7":{"position":[[586,5]]},"41":{"position":[[320,5]]},"203":{"position":[[293,5]]},"217":{"position":[[222,5]]},"323":{"position":[[222,5]]}}}],["coming",{"_index":1617,"t":{"103":{"position":[[97,6]]}}}],["command",{"_index":2207,"t":{"215":{"position":[[60,7]]},"217":{"position":[[199,7]]},"219":{"position":[[88,8]]},"235":{"position":[[60,7]]},"249":{"position":[[60,7]]},"293":{"position":[[60,7],[76,7]]},"297":{"position":[[88,8]]},"299":{"position":[[47,7]]},"311":{"position":[[89,7],[564,8],[1155,8]]},"321":{"position":[[60,7]]},"323":{"position":[[199,7]]},"325":{"position":[[88,8]]},"341":{"position":[[157,7]]},"378":{"position":[[826,8]]}}}],["commands",{"_index":2446,"t":{"347":{"position":[[301,8]]}}}],["commercially",{"_index":586,"t":{"21":{"position":[[1095,12]]}}}],["commit",{"_index":1425,"t":{"63":{"position":[[61,6]]}}}],["commits",{"_index":70,"t":{"3":{"position":[[915,8]]},"5":{"position":[[888,8]]}}}],["common",{"_index":593,"t":{"21":{"position":[[1297,6]]},"27":{"position":[[2593,7]]},"84":{"position":[[76,6]]},"125":{"position":[[639,6]]}}}],["commonly",{"_index":1230,"t":{"41":{"position":[[185,8]]},"207":{"position":[[6,8]]}}}],["communicating",{"_index":1635,"t":{"105":{"position":[[537,13]]}}}],["communication",{"_index":2464,"t":{"351":{"position":[[349,13]]}}}],["compare",{"_index":1229,"t":{"41":{"position":[[163,7]]}}}],["compatibility",{"_index":2051,"t":{"160":{"position":[[731,13]]}}}],["compatible",{"_index":2253,"t":{"235":{"position":[[118,10]]},"249":{"position":[[118,10]]}}}],["complete",{"_index":2257,"t":{"239":{"position":[[6,8]]},"253":{"position":[[6,8]]},"355":{"position":[[154,8]]},"380":{"position":[[461,8]]}}}],["completed",{"_index":2133,"t":{"187":{"position":[[162,9]]}}}],["completely",{"_index":877,"t":{"25":{"position":[[438,10]]}}}],["complex",{"_index":39,"t":{"3":{"position":[[499,7],[822,7]]},"5":{"position":[[472,7],[795,7]]},"9":{"position":[[828,7],[938,8]]},"11":{"position":[[532,7],[2113,7]]},"13":{"position":[[51,7],[1831,8]]},"81":{"position":[[259,7]]},"345":{"position":[[267,7]]}}}],["complex/expensive",{"_index":1910,"t":{"142":{"position":[[1307,17]]}}}],["complexity",{"_index":336,"t":{"13":{"position":[[673,11]]},"15":{"position":[[670,10]]}}}],["component",{"_index":2320,"t":{"281":{"position":[[20,10],[186,9],[301,10],[341,9]]}}}],["compose",{"_index":2307,"t":{"275":{"position":[[245,8]]},"277":{"position":[[47,7],[171,7],[198,7],[218,8]]},"279":{"position":[[79,7],[109,7],[127,7]]}}}],["compose.yml",{"_index":2312,"t":{"277":{"position":[[18,11],[97,11]]}}}],["compress/2174925f24362c479b2.jpg",{"_index":2111,"t":{"179":{"position":[[870,33]]}}}],["compression",{"_index":2195,"t":{"205":{"position":[[279,11]]}}}],["compute",{"_index":631,"t":{"21":{"position":[[2157,7],[2538,7]]},"23":{"position":[[2436,7]]},"35":{"position":[[239,7],[505,7],[551,7],[1193,7]]},"39":{"position":[[952,7]]}}}],["computed",{"_index":782,"t":{"23":{"position":[[2983,8]]},"29":{"position":[[442,8]]},"35":{"position":[[353,8]]}}}],["computer",{"_index":34,"t":{"3":{"position":[[446,8],[564,8]]},"5":{"position":[[419,8],[537,8]]},"13":{"position":[[3646,8]]},"52":{"position":[[16,8]]},"54":{"position":[[343,8]]},"81":{"position":[[32,9],[1488,8],[1697,8]]},"259":{"position":[[245,8]]},"267":{"position":[[118,9]]},"269":{"position":[[25,8]]},"333":{"position":[[56,8]]},"335":{"position":[[37,8]]},"343":{"position":[[30,8],[200,8]]},"345":{"position":[[14,8]]},"347":{"position":[[26,8]]},"349":{"position":[[14,8],[196,8]]},"351":{"position":[[14,8]]},"353":{"position":[[55,8]]},"364":{"position":[[1876,8]]}}}],["computer's",{"_index":2472,"t":{"355":{"position":[[269,10]]}}}],["computing",{"_index":1110,"t":{"33":{"position":[[542,9]]},"35":{"position":[[949,9]]},"56":{"position":[[123,10]]},"81":{"position":[[1210,9]]},"185":{"position":[[17,9]]}}}],["conceptualize",{"_index":734,"t":{"23":{"position":[[1799,13]]}}}],["concurrently",{"_index":201,"t":{"11":{"position":[[392,12]]}}}],["condition",{"_index":792,"t":{"23":{"position":[[3160,9]]},"99":{"position":[[133,9]]},"378":{"position":[[1963,9]]}}}],["condition\\texttt{condition}condition",{"_index":798,"t":{"23":{"position":[[3284,36]]}}}],["conditional",{"_index":1144,"t":{"37":{"position":[[354,11]]},"49":{"position":[[684,11]]}}}],["conditions",{"_index":351,"t":{"13":{"position":[[898,11]]},"81":{"position":[[1366,10]]},"101":{"position":[[70,11]]},"142":{"position":[[502,11]]}}}],["conference",{"_index":1311,"t":{"45":{"position":[[249,10]]}}}],["confidence",{"_index":239,"t":{"11":{"position":[[1240,10],[1622,10]]},"15":{"position":[[733,10]]},"21":{"position":[[1470,10],[2044,10],[2183,10],[2704,10],[2793,10],[3025,10]]},"23":{"position":[[26,10],[115,10],[2118,10]]},"29":{"position":[[258,10],[375,10],[701,10],[742,10]]},"31":{"position":[[81,10],[166,10],[543,10],[652,10],[682,10],[1093,10],[1249,10],[1475,10],[1944,10],[2748,10]]},"33":{"position":[[835,10]]},"35":{"position":[[89,10],[208,10],[272,10],[330,10],[428,10],[527,10],[581,10],[767,10],[859,10],[1002,10],[1089,10],[1209,10]]},"39":{"position":[[870,10]]},"41":{"position":[[768,10],[1654,10]]},"43":{"position":[[266,10],[405,10]]},"49":{"position":[[33,10],[111,10],[343,10]]},"54":{"position":[[142,11],[641,11]]},"81":{"position":[[708,10],[818,10]]},"107":{"position":[[625,10]]},"142":{"position":[[80,10],[247,10],[376,10],[452,10],[599,10],[664,10],[761,10],[803,10],[878,10],[899,10],[1031,10],[1173,10],[1356,10],[1573,10]]},"144":{"position":[[1261,10],[1352,10],[1643,10],[1785,10],[1892,10],[2067,10]]},"164":{"position":[[492,10],[552,10]]},"168":{"position":[[84,10]]},"172":{"position":[[109,11],[606,10]]},"179":{"position":[[496,10]]},"309":{"position":[[149,10]]},"370":{"position":[[1564,10]]},"378":{"position":[[381,10],[475,10],[624,10]]}}}],["confidence=0.9995857543478209",{"_index":1487,"t":{"79":{"position":[[806,30]]}}}],["confidence_threshold",{"_index":1883,"t":{"142":{"position":[[133,21]]},"144":{"position":[[1706,20]]}}}],["confidence_threshold=0.8",{"_index":2596,"t":{"370":{"position":[[1613,25]]}}}],["confidence_threshold=0.9",{"_index":1496,"t":{"79":{"position":[[961,25]]}}}],["confidence_threshold=0.95",{"_index":1934,"t":{"144":{"position":[[1224,26]]},"164":{"position":[[885,26]]}}}],["confident",{"_index":256,"t":{"11":{"position":[[1771,9],[1851,9],[2019,9]]},"107":{"position":[[699,9]]},"121":{"position":[[1142,9]]},"144":{"position":[[2025,10]]},"164":{"position":[[649,9]]},"170":{"position":[[642,9]]}}}],["config",{"_index":1749,"t":{"117":{"position":[[995,6]]},"150":{"position":[[649,6]]},"152":{"position":[[548,6]]}}}],["configuration",{"_index":1419,"t":{"61":{"position":[[350,13]]},"111":{"position":[[544,13]]},"267":{"position":[[132,13]]},"271":{"position":[[344,13]]},"283":{"position":[[142,13]]}}}],["configure",{"_index":1513,"t":{"81":{"position":[[543,10]]},"99":{"position":[[154,9]]},"101":{"position":[[35,9],[433,9]]},"150":{"position":[[438,9]]},"225":{"position":[[449,9],[702,9]]},"271":{"position":[[175,9]]},"372":{"position":[[189,9]]}}}],["configured",{"_index":1588,"t":{"99":{"position":[[92,10]]},"101":{"position":[[329,10]]},"111":{"position":[[420,11]]}}}],["configuring",{"_index":1518,"t":{"81":{"position":[[794,11]]},"101":{"position":[[520,11]]},"144":{"position":[[279,11],[462,11]]},"150":{"position":[[1005,11]]}}}],["confirm",{"_index":1445,"t":{"69":{"position":[[56,7]]}}}],["confirmed",{"_index":2651,"t":{"378":{"position":[[1231,9]]}}}],["conflicts",{"_index":2201,"t":{"207":{"position":[[129,9]]}}}],["confusing",{"_index":1337,"t":{"49":{"position":[[68,10]]}}}],["connect",{"_index":2664,"t":{"380":{"position":[[291,7]]}}}],["connected",{"_index":2295,"t":{"269":{"position":[[9,9]]},"357":{"position":[[69,9]]},"364":{"position":[[1861,9]]},"366":{"position":[[69,9]]}}}],["connectivity",{"_index":1613,"t":{"101":{"position":[[828,12]]}}}],["consecutive",{"_index":2655,"t":{"378":{"position":[[2001,11]]}}}],["consequently",{"_index":716,"t":{"23":{"position":[[1314,13]]},"27":{"position":[[3411,13]]},"117":{"position":[[354,13]]}}}],["consider",{"_index":236,"t":{"11":{"position":[[1195,8]]},"23":{"position":[[422,8]]},"27":{"position":[[208,8]]},"101":{"position":[[511,8]]},"131":{"position":[[0,8]]},"265":{"position":[[239,8]]}}}],["considered",{"_index":234,"t":{"11":{"position":[[1143,10]]},"91":{"position":[[114,10]]}}}],["considering",{"_index":945,"t":{"27":{"position":[[664,11]]}}}],["consists",{"_index":685,"t":{"23":{"position":[[546,8],[1578,8]]}}}],["constrained",{"_index":2190,"t":{"205":{"position":[[27,12],[394,11]]}}}],["construct",{"_index":666,"t":{"21":{"position":[[3015,9]]},"23":{"position":[[16,9],[105,9],[2106,9]]},"29":{"position":[[229,9]]},"33":{"position":[[69,9]]}}}],["constructing",{"_index":627,"t":{"21":{"position":[[2031,12]]}}}],["construction",{"_index":1203,"t":{"39":{"position":[[1776,13]]},"49":{"position":[[83,12]]}}}],["constructor",{"_index":1679,"t":{"111":{"position":[[758,11]]}}}],["contact",{"_index":1665,"t":{"109":{"position":[[209,7]]}}}],["contain",{"_index":1223,"t":{"39":{"position":[[2943,7]]},"41":{"position":[[97,7]]},"117":{"position":[[421,7]]}}}],["container",{"_index":1654,"t":{"107":{"position":[[1116,9]]},"311":{"position":[[51,10],[408,9],[1067,9]]},"372":{"position":[[98,10]]},"376":{"position":[[28,10]]},"378":{"position":[[23,9],[678,9],[1180,9],[1250,9],[1369,9],[2310,9]]}}}],["containerized",{"_index":2347,"t":{"305":{"position":[[45,13]]}}}],["containers",{"_index":1649,"t":{"107":{"position":[[990,10],[1203,11],[1242,10]]}}}],["containing",{"_index":2313,"t":{"277":{"position":[[75,10]]},"283":{"position":[[233,10]]}}}],["contains",{"_index":1820,"t":{"125":{"position":[[478,8],[568,8]]}}}],["content",{"_index":1558,"t":{"87":{"position":[[105,8]]}}}],["content/uploads/2010/11/over_flowing_garbage_can.jpg",{"_index":1930,"t":{"144":{"position":[[1032,53]]}}}],["context",{"_index":199,"t":{"11":{"position":[[313,7]]},"95":{"position":[[72,8]]},"133":{"position":[[88,8]]}}}],["continue",{"_index":1915,"t":{"144":{"position":[[183,8]]},"152":{"position":[[791,8]]},"172":{"position":[[699,8]]},"192":{"position":[[171,8]]},"370":{"position":[[1838,8],[1936,8],[2103,8]]}}}],["continues",{"_index":1793,"t":{"121":{"position":[[1036,9]]}}}],["continuous",{"_index":2422,"t":{"339":{"position":[[208,10]]}}}],["contrast",{"_index":972,"t":{"27":{"position":[[1822,9]]}}}],["control",{"_index":1041,"t":{"31":{"position":[[963,7]]},"81":{"position":[[741,7]]},"164":{"position":[[421,7]]},"335":{"position":[[319,8]]},"343":{"position":[[344,8]]},"349":{"position":[[252,8]]},"351":{"position":[[367,7]]}}}],["convenience",{"_index":2079,"t":{"166":{"position":[[4,12]]},"170":{"position":[[15,11]]}}}],["converged",{"_index":1091,"t":{"31":{"position":[[2952,9]]}}}],["converges",{"_index":1239,"t":{"41":{"position":[[505,9]]}}}],["conversion",{"_index":2199,"t":{"205":{"position":[[432,10]]}}}],["convert",{"_index":2058,"t":{"160":{"position":[[1268,7]]},"205":{"position":[[190,7]]},"361":{"position":[[441,7]]},"370":{"position":[[540,7]]}}}],["convey",{"_index":637,"t":{"21":{"position":[[2285,6]]},"43":{"position":[[290,6]]},"89":{"position":[[372,8]]}}}],["conveyor",{"_index":1551,"t":{"84":{"position":[[425,8]]}}}],["copy",{"_index":355,"t":{"13":{"position":[[996,4]]}}}],["copy.copy(self.state",{"_index":372,"t":{"13":{"position":[[1298,21]]}}}],["core",{"_index":423,"t":{"13":{"position":[[3455,4]]},"113":{"position":[[154,5]]}}}],["cornell",{"_index":2637,"t":{"374":{"position":[[164,7]]},"378":{"position":[[744,7]]}}}],["cornerstone",{"_index":309,"t":{"13":{"position":[[70,11]]}}}],["correct",{"_index":427,"t":{"13":{"position":[[3511,8]]},"15":{"position":[[1051,7]]},"21":{"position":[[1823,8]]},"23":{"position":[[296,8]]},"25":{"position":[[393,8]]},"31":{"position":[[1816,7]]},"33":{"position":[[128,7]]},"35":{"position":[[1134,7],[1285,7]]},"142":{"position":[[554,8],[636,7]]}}}],["correctly",{"_index":739,"t":{"23":{"position":[[1968,9],[2239,9],[2898,9],[3416,9]]},"27":{"position":[[140,9],[436,9]]},"31":{"position":[[1359,9],[2802,9]]},"33":{"position":[[701,9]]},"39":{"position":[[337,9],[421,9]]}}}],["correctness",{"_index":531,"t":{"21":{"position":[[58,11]]}}}],["corresponds",{"_index":816,"t":{"23":{"position":[[3673,11]]},"25":{"position":[[283,11],[344,11]]},"27":{"position":[[894,11]]},"47":{"position":[[585,11]]}}}],["cost",{"_index":479,"t":{"17":{"position":[[378,4]]},"142":{"position":[[241,5]]},"144":{"position":[[2114,5]]}}}],["costs",{"_index":1945,"t":{"144":{"position":[[1963,6]]}}}],["couch",{"_index":2416,"t":{"339":{"position":[[77,5]]},"355":{"position":[[99,6],[206,6],[325,6]]},"357":{"position":[[140,5]]},"361":{"position":[[1053,5],[1261,8],[1621,6]]}}}],["count",{"_index":2156,"t":{"196":{"position":[[110,5],[273,6]]}}}],["counted",{"_index":1626,"t":{"105":{"position":[[286,7]]}}}],["counter",{"_index":2400,"t":{"337":{"position":[[25,7],[133,7]]},"364":{"position":[[127,7],[392,7],[608,8],[1151,7],[1370,7],[1477,7],[1792,8],[1989,7]]},"370":{"position":[[1515,10],[2496,7],[2854,7],[3082,8]]}}}],["counter's",{"_index":2629,"t":{"370":{"position":[[3149,9]]}}}],["counting",{"_index":2158,"t":{"196":{"position":[[168,8],[203,8],[285,8]]}}}],["coverage",{"_index":1040,"t":{"31":{"position":[[950,9],[975,8]]},"35":{"position":[[683,8],[1037,8]]},"39":{"position":[[1591,8],[2321,9]]},"43":{"position":[[518,9]]}}}],["covered",{"_index":1333,"t":{"47":{"position":[[665,7]]}}}],["covers",{"_index":1799,"t":{"123":{"position":[[106,6]]}}}],["cpu",{"_index":1703,"t":{"113":{"position":[[170,4]]}}}],["create",{"_index":1400,"t":{"58":{"position":[[135,6],[297,6]]},"67":{"position":[[61,7]]},"75":{"position":[[123,6]]},"81":{"position":[[184,6],[535,7]]},"99":{"position":[[245,6],[280,6]]},"117":{"position":[[931,6]]},"139":{"position":[[223,6]]},"150":{"position":[[585,6]]},"152":{"position":[[304,6]]},"160":{"position":[[281,6]]},"190":{"position":[[153,6]]},"196":{"position":[[159,6]]},"198":{"position":[[65,6]]},"281":{"position":[[162,6],[293,7]]},"305":{"position":[[369,6]]},"309":{"position":[[45,6],[83,7]]},"339":{"position":[[0,6]]},"341":{"position":[[180,6]]},"361":{"position":[[47,6]]},"370":{"position":[[47,6]]},"378":{"position":[[110,7],[272,6],[1826,7],[2249,8]]}}}],["create_detector(name",{"_index":2139,"t":{"190":{"position":[[264,21]]}}}],["created",{"_index":303,"t":{"11":{"position":[[3078,7]]},"13":{"position":[[1665,7],[2561,7],[3058,7]]},"162":{"position":[[14,7]]},"190":{"position":[[122,7]]},"192":{"position":[[47,8],[213,8]]},"194":{"position":[[155,8]]},"196":{"position":[[35,7]]}}}],["created_at=datetime.datetime(2024",{"_index":1489,"t":{"79":{"position":[[863,34]]}}}],["creates",{"_index":2517,"t":{"364":{"position":[[184,7]]}}}],["creating",{"_index":1472,"t":{"79":{"position":[[28,8]]},"101":{"position":[[5,8]]},"131":{"position":[[9,8]]},"142":{"position":[[5,8]]},"190":{"position":[[219,8]]},"281":{"position":[[7,8]]},"355":{"position":[[143,8]]}}}],["creation",{"_index":2053,"t":{"160":{"position":[[841,10]]},"271":{"position":[[108,8]]}}}],["credentials",{"_index":1416,"t":{"61":{"position":[[133,12]]}}}],["credible",{"_index":1342,"t":{"49":{"position":[[732,8],[804,8]]}}}],["critical",{"_index":2645,"t":{"378":{"position":[[572,8]]}}}],["crowded",{"_index":2551,"t":{"364":{"position":[[1531,7]]}}}],["crucial",{"_index":326,"t":{"13":{"position":[[455,7]]}}}],["ctrl+c",{"_index":2368,"t":{"311":{"position":[[445,7]]}}}],["cumulative",{"_index":898,"t":{"25":{"position":[[777,10],[1495,10]]}}}],["cup_{i=1}^n",{"_index":1323,"t":{"47":{"position":[[268,12]]}}}],["curl",{"_index":2243,"t":{"225":{"position":[[442,4],[609,4]]}}}],["current",{"_index":280,"t":{"11":{"position":[[2291,7]]},"13":{"position":[[147,7]]},"259":{"position":[[493,7]]}}}],["current_hour",{"_index":2590,"t":{"370":{"position":[[1266,12],[1329,12],[2554,12],[2592,12]]}}}],["current_time",{"_index":2610,"t":{"370":{"position":[[2289,12]]}}}],["current_time.strftime(\"%i%p",{"_index":2614,"t":{"370":{"position":[[2388,29]]}}}],["currently",{"_index":399,"t":{"13":{"position":[[2124,9],[2835,9]]},"17":{"position":[[146,10]]}}}],["curve",{"_index":918,"t":{"25":{"position":[[1336,7],[1777,6]]}}}],["custom",{"_index":123,"t":{"9":{"position":[[162,6]]},"131":{"position":[[18,6]]},"271":{"position":[[219,6]]}}}],["customer",{"_index":615,"t":{"21":{"position":[[1753,9],[1766,8]]},"337":{"position":[[8,8]]},"364":{"position":[[260,9],[844,8],[1047,8],[1415,8],[1568,8],[1614,8],[2103,8]]},"370":{"position":[[1491,8],[3054,8]]}}}],["customers",{"_index":537,"t":{"21":{"position":[[175,9],[432,9]]},"43":{"position":[[92,10]]},"364":{"position":[[138,9],[769,10],[1125,9],[1339,9]]}}}],["customize",{"_index":2152,"t":{"194":{"position":[[239,9]]},"370":{"position":[[710,9]]}}}],["cutting",{"_index":2426,"t":{"343":{"position":[[187,7]]}}}],["cv2",{"_index":2013,"t":{"158":{"position":[[322,3]]},"361":{"position":[[163,3]]},"370":{"position":[[315,3]]}}}],["cv2.color_bgr2rgb",{"_index":2490,"t":{"361":{"position":[[505,19]]},"370":{"position":[[604,19]]}}}],["cv2.videocapture(0",{"_index":2015,"t":{"158":{"position":[[332,19]]},"361":{"position":[[373,19]]},"370":{"position":[[472,19]]}}}],["d",{"_index":754,"t":{"23":{"position":[[2353,3]]},"37":{"position":[[398,3],[462,3],[499,1],[606,2],[643,1],[873,4],[1002,2]]},"125":{"position":[[237,1]]},"144":{"position":[[1147,1]]},"179":{"position":[[745,1]]},"311":{"position":[[213,1],[636,1],[992,1],[1236,1]]},"378":{"position":[[898,1],[1498,1]]},"380":{"position":[[247,1],[379,1]]}}}],["d(x,y)∼d",{"_index":730,"t":{"23":{"position":[[1736,8]]}}}],["d(xi,yi)∼d",{"_index":777,"t":{"23":{"position":[[2814,12]]}}}],["d+d^+d",{"_index":1145,"t":{"37":{"position":[[381,7]]}}}],["daemon",{"_index":2325,"t":{"281":{"position":[[154,7]]}}}],["daily",{"_index":2406,"t":{"337":{"position":[[186,5]]},"364":{"position":[[448,5],[2009,5]]},"366":{"position":[[132,5]]},"370":{"position":[[672,5],[2665,6],[3218,5]]}}}],["daily_log",{"_index":2598,"t":{"370":{"position":[[1659,9],[2632,9],[2695,10],[2894,9]]}}}],["daily_log.append(msg",{"_index":2619,"t":{"370":{"position":[[2523,21]]}}}],["daily_summary",{"_index":2620,"t":{"370":{"position":[[2649,13],[2706,13]]}}}],["dashboard",{"_index":1399,"t":{"58":{"position":[[122,9]]},"69":{"position":[[23,9]]},"73":{"position":[[71,9]]},"99":{"position":[[220,10]]},"111":{"position":[[390,9]]},"307":{"position":[[71,9]]},"309":{"position":[[34,10]]},"361":{"position":[[33,9]]},"370":{"position":[[33,9]]},"378":{"position":[[154,10],[309,10],[1778,10]]}}}],["dashboard.groundlight.ai/reef/my",{"_index":1435,"t":{"65":{"position":[[27,32]]}}}],["data",{"_index":203,"t":{"11":{"position":[[443,4],[2813,4],[3020,4]]},"54":{"position":[[103,5]]},"144":{"position":[[880,5]]},"160":{"position":[[212,4]]},"337":{"position":[[210,4]]},"361":{"position":[[819,4],[853,5],[878,4]]},"364":{"position":[[1269,4]]}}}],["database",{"_index":1741,"t":{"117":{"position":[[683,9],[770,8],[1313,8]]},"119":{"position":[[403,8]]}}}],["dataset",{"_index":1376,"t":{"54":{"position":[[446,8]]},"179":{"position":[[160,8]]}}}],["datetime",{"_index":2559,"t":{"370":{"position":[[188,8],[204,9]]}}}],["datetime.now",{"_index":2606,"t":{"370":{"position":[[2159,14]]}}}],["datetime.now().hour",{"_index":2591,"t":{"370":{"position":[[1281,19],[2569,19]]}}}],["datetime.now().replace(hour=start_of_business",{"_index":2611,"t":{"370":{"position":[[2304,46]]}}}],["datetime.now().replace(minute=0",{"_index":2600,"t":{"370":{"position":[[1694,32]]}}}],["day",{"_index":28,"t":{"3":{"position":[[367,4]]},"5":{"position":[[340,4]]},"23":{"position":[[758,3]]},"364":{"position":[[163,4],[429,4],[891,3]]},"370":{"position":[[3199,4]]}}}],["days",{"_index":2532,"t":{"364":{"position":[[907,4]]}}}],["daytime",{"_index":680,"t":{"23":{"position":[[477,7],[565,7]]}}}],["db.get_next_image_query_id",{"_index":1769,"t":{"119":{"position":[[418,29],[667,28],[1220,28]]}}}],["db.save(image_query.id",{"_index":1743,"t":{"117":{"position":[[810,24],[1258,23]]}}}],["ddd",{"_index":722,"t":{"23":{"position":[[1553,4],[1574,3],[1791,4],[2282,4],[2460,3],[2642,4],[3659,4],[4522,4]]},"27":{"position":[[383,3],[2105,3]]},"37":{"position":[[330,3]]}}}],["ddr5",{"_index":1709,"t":{"113":{"position":[[218,4]]}}}],["debian",{"_index":2118,"t":{"183":{"position":[[77,7]]},"223":{"position":[[92,6]]}}}],["debugging",{"_index":1817,"t":{"125":{"position":[[435,9]]},"129":{"position":[[150,9]]},"133":{"position":[[129,9]]}}}],["decades",{"_index":2049,"t":{"160":{"position":[[715,7]]}}}],["decide",{"_index":487,"t":{"17":{"position":[[550,6]]}}}],["decided",{"_index":1029,"t":{"31":{"position":[[434,7]]}}}],["decides",{"_index":285,"t":{"11":{"position":[[2501,7]]}}}],["decision",{"_index":827,"t":{"23":{"position":[[3884,8]]}}}],["decisions",{"_index":2545,"t":{"364":{"position":[[1281,9],[2061,9]]}}}],["decompose",{"_index":1143,"t":{"37":{"position":[[320,9]]}}}],["decrease",{"_index":1998,"t":{"152":{"position":[[1146,8]]}}}],["def",{"_index":362,"t":{"13":{"position":[[1098,3],[1166,3],[1246,3]]},"31":{"position":[[2672,3],[2848,3],[2886,3]]},"361":{"position":[[346,3],[593,3]]},"370":{"position":[[445,3],[766,3],[1234,3]]}}}],["default",{"_index":1643,"t":{"107":{"position":[[515,8]]},"137":{"position":[[168,7]]},"152":{"position":[[1001,8]]},"158":{"position":[[382,7]]},"194":{"position":[[167,8]]},"203":{"position":[[199,7]]},"207":{"position":[[51,8]]},"225":{"position":[[38,8],[489,7]]}}}],["defaults",{"_index":2075,"t":{"164":{"position":[[524,9],[668,9]]},"177":{"position":[[57,8]]},"194":{"position":[[331,8]]}}}],["defeating",{"_index":525,"t":{"19":{"position":[[520,9]]}}}],["defects",{"_index":2394,"t":{"335":{"position":[[337,7]]},"349":{"position":[[153,7]]}}}],["define",{"_index":677,"t":{"23":{"position":[[339,6],[2185,6]]},"37":{"position":[[179,6],[243,6]]},"361":{"position":[[278,6],[543,6]]},"370":{"position":[[377,6],[642,6],[1120,6]]}}}],["defined",{"_index":890,"t":{"25":{"position":[[668,7],[1077,7]]},"31":{"position":[[1503,7]]},"33":{"position":[[863,7]]},"37":{"position":[[743,7],[1105,7]]}}}],["definition",{"_index":1049,"t":{"31":{"position":[[1229,10],[1425,11],[1867,10],[2125,10]]},"33":{"position":[[785,11]]}}}],["definitions",{"_index":1165,"t":{"39":{"position":[[15,11]]},"263":{"position":[[153,12]]}}}],["degrade",{"_index":2185,"t":{"201":{"position":[[343,8]]}}}],["degree",{"_index":625,"t":{"21":{"position":[[1998,6]]}}}],["delay",{"_index":2597,"t":{"370":{"position":[[1639,5]]}}}],["delete",{"_index":1444,"t":{"69":{"position":[[47,8]]}}}],["delta",{"_index":1044,"t":{"31":{"position":[[1010,9],[1037,8],[1072,8],[1157,9],[1172,8],[1272,8],[1449,10],[1560,7],[1604,6],[1728,8],[2081,8],[2401,8],[2703,7],[2734,7],[3013,6]]},"33":{"position":[[625,8],[809,10],[930,7],[982,6]]},"35":{"position":[[311,10]]},"39":{"position":[[859,10],[1494,5],[1611,9],[1691,5],[2280,9]]}}}],["delta/4",{"_index":1185,"t":{"39":{"position":[[1078,9],[1319,9]]}}}],["delta/4)acc+(h)=p(n+,k+,δ/4",{"_index":1188,"t":{"39":{"position":[[1159,31]]}}}],["delta/4)acc−(h)=p(n−,k−,δ/4",{"_index":1191,"t":{"39":{"position":[[1400,31]]}}}],["delta4⋅(δ/4",{"_index":1212,"t":{"39":{"position":[[2196,16]]}}}],["deltafn,p(k",{"_index":1070,"t":{"31":{"position":[[2315,17]]}}}],["deltaδ/2",{"_index":1127,"t":{"35":{"position":[[464,13],[612,10]]}}}],["demonstrates",{"_index":118,"t":{"9":{"position":[[19,12]]},"339":{"position":[[130,13]]},"364":{"position":[[13,12]]}}}],["denote",{"_index":731,"t":{"23":{"position":[[1745,6]]},"39":{"position":[[174,6],[228,6],[282,6],[366,6],[568,6]]}}}],["density",{"_index":899,"t":{"25":{"position":[[788,7]]}}}],["dependent",{"_index":696,"t":{"23":{"position":[[866,10]]},"207":{"position":[[150,9]]}}}],["depicts",{"_index":809,"t":{"23":{"position":[[3498,7]]}}}],["deploy",{"_index":127,"t":{"9":{"position":[[212,6]]},"81":{"position":[[1183,6]]},"109":{"position":[[57,6]]},"259":{"position":[[56,6],[123,6]]},"267":{"position":[[73,6]]},"281":{"position":[[318,8],[330,6]]}}}],["deployed",{"_index":1728,"t":{"115":{"position":[[293,8]]},"261":{"position":[[62,8]]},"271":{"position":[[67,8]]}}}],["deployment",{"_index":53,"t":{"3":{"position":[[687,10]]},"5":{"position":[[660,10]]},"9":{"position":[[116,10],[1504,10]]},"257":{"position":[[40,10]]},"275":{"position":[[211,10]]}}}],["deprioritize",{"_index":1922,"t":{"144":{"position":[[562,12],[765,12],[1538,12]]}}}],["depth",{"_index":1962,"t":{"150":{"position":[[338,5]]}}}],["derivation",{"_index":1343,"t":{"49":{"position":[[790,10]]}}}],["derive",{"_index":1023,"t":{"31":{"position":[[62,6]]},"35":{"position":[[24,6],[139,6]]}}}],["derived",{"_index":1228,"t":{"41":{"position":[[33,7]]},"43":{"position":[[734,8]]}}}],["described",{"_index":152,"t":{"9":{"position":[[847,9]]},"31":{"position":[[30,9]]},"223":{"position":[[375,9]]},"301":{"position":[[178,9]]},"329":{"position":[[233,9]]}}}],["describes",{"_index":644,"t":{"21":{"position":[[2498,9]]}}}],["description",{"_index":1822,"t":{"125":{"position":[[497,11]]}}}],["descriptive",{"_index":2654,"t":{"378":{"position":[[1853,11]]}}}],["design",{"_index":44,"t":{"3":{"position":[[584,6],[660,6]]},"5":{"position":[[557,6],[633,6]]}}}],["designed",{"_index":72,"t":{"7":{"position":[[52,8]]},"77":{"position":[[83,8]]},"113":{"position":[[646,8]]},"259":{"position":[[13,8]]}}}],["desire",{"_index":1196,"t":{"39":{"position":[[1572,6]]},"49":{"position":[[672,6]]}}}],["desired",{"_index":1215,"t":{"39":{"position":[[2304,7]]},"41":{"position":[[127,7]]},"81":{"position":[[810,7]]}}}],["desk",{"_index":2518,"t":{"364":{"position":[[232,4]]}}}],["desktop",{"_index":2116,"t":{"183":{"position":[[4,7]]}}}],["despite",{"_index":1871,"t":{"137":{"position":[[43,7]]}}}],["det",{"_index":1348,"t":{"52":{"position":[[125,3]]},"58":{"position":[[383,3]]},"79":{"position":[[162,4]]},"156":{"position":[[170,3]]}}}],["detach",{"_index":2374,"t":{"311":{"position":[[1125,6],[1177,6]]},"378":{"position":[[1413,6],[1439,6]]}}}],["detail",{"_index":325,"t":{"13":{"position":[[445,6]]}}}],["detailed",{"_index":1281,"t":{"43":{"position":[[357,8]]},"75":{"position":[[397,8]]}}}],["details",{"_index":569,"t":{"21":{"position":[[695,7],[1395,7],[2364,7]]}}}],["detect",{"_index":1975,"t":{"152":{"position":[[72,6]]},"160":{"position":[[1661,6]]}}}],["detected",{"_index":1984,"t":{"152":{"position":[[487,9],[846,11]]},"305":{"position":[[541,9]]},"311":{"position":[[874,8]]},"355":{"position":[[190,8]]},"361":{"position":[[1245,8],[1605,8]]},"370":{"position":[[3066,8]]},"378":{"position":[[2425,8]]}}}],["detecting",{"_index":1976,"t":{"152":{"position":[[128,9],[928,9]]}}}],["detection",{"_index":468,"t":{"17":{"position":[[76,9],[503,10]]},"81":{"position":[[246,9]]},"152":{"position":[[33,9],[273,9],[383,10]]},"378":{"position":[[1031,9],[1629,9]]}}}],["detector",{"_index":58,"t":{"3":{"position":[[740,8]]},"5":{"position":[[713,8]]},"11":{"position":[[826,8],[1540,8]]},"21":{"position":[[148,8],[1377,8]]},"79":{"position":[[39,8],[122,9],[167,8]]},"84":{"position":[[315,8],[666,9]]},"117":{"position":[[1080,8]]},"119":{"position":[[566,8]]},"121":{"position":[[547,8]]},"142":{"position":[[16,8]]},"162":{"position":[[24,8]]},"164":{"position":[[81,9],[124,8],[251,8],[755,8]]},"168":{"position":[[112,8],[218,8]]},"170":{"position":[[278,8]]},"172":{"position":[[461,8]]},"190":{"position":[[98,8],[234,8],[365,8]]},"192":{"position":[[15,8],[189,8],[277,8],[361,8],[438,8]]},"196":{"position":[[177,8],[434,8]]},"198":{"position":[[86,9],[248,8]]},"257":{"position":[[56,8]]},"259":{"position":[[80,8],[135,8],[311,8]]},"261":{"position":[[71,9]]},"309":{"position":[[58,8],[114,8],[260,8]]},"311":{"position":[[222,8],[645,8],[1001,8],[1245,8]]},"339":{"position":[[262,8]]},"361":{"position":[[1008,8],[1059,10]]},"364":{"position":[[194,8],[284,8]]},"370":{"position":[[1412,8]]},"378":{"position":[[293,8],[420,8],[1932,8]]}}}],["detector's",{"_index":226,"t":{"11":{"position":[[1023,10]]},"21":{"position":[[722,10],[1887,10],[2243,10],[2344,10]]},"164":{"position":[[541,10]]},"309":{"position":[[220,10]]}}}],["detector=d",{"_index":1937,"t":{"144":{"position":[[1413,11]]}}}],["detector=detector",{"_index":2077,"t":{"164":{"position":[[839,18]]},"361":{"position":[[1161,18]]},"370":{"position":[[1990,18]]}}}],["detector_id='det_2owcst7xcsfflu7diakgpkr4bxy",{"_index":1485,"t":{"79":{"position":[[724,46]]}}}],["detectors",{"_index":134,"t":{"9":{"position":[[448,9],[509,9]]},"21":{"position":[[94,10]]},"43":{"position":[[153,9]]},"81":{"position":[[511,10],[562,9],[844,10]]},"194":{"position":[[33,10],[138,9],[363,9],[440,9]]},"196":{"position":[[19,9],[75,10],[212,9],[294,9]]},"267":{"position":[[97,9]]},"271":{"position":[[147,10],[185,9],[361,10]]}}}],["detects",{"_index":2184,"t":{"201":{"position":[[231,7]]},"339":{"position":[[45,7]]}}}],["determination",{"_index":526,"t":{"19":{"position":[[530,14]]}}}],["determine",{"_index":373,"t":{"13":{"position":[[1355,9],[1585,9]]}}}],["determined",{"_index":1905,"t":{"142":{"position":[[1063,10]]}}}],["determines",{"_index":293,"t":{"11":{"position":[[2727,10]]}}}],["determining",{"_index":390,"t":{"13":{"position":[[1710,11],[1769,11],[2595,11],[2669,11],[3092,11]]},"25":{"position":[[33,11],[147,11]]},"27":{"position":[[232,11]]}}}],["dev",{"_index":2339,"t":{"285":{"position":[[159,3]]}}}],["developed",{"_index":71,"t":{"7":{"position":[[18,10]]},"160":{"position":[[705,9]]}}}],["developing",{"_index":38,"t":{"3":{"position":[[484,10]]},"5":{"position":[[457,10]]},"187":{"position":[[222,10]]}}}],["development",{"_index":1451,"t":{"71":{"position":[[36,11]]},"267":{"position":[[196,11]]}}}],["deviation",{"_index":1249,"t":{"41":{"position":[[758,9],[1340,10]]}}}],["device",{"_index":1642,"t":{"107":{"position":[[461,6],[924,6],[1013,8],[1052,7]]},"181":{"position":[[170,6]]},"259":{"position":[[436,7]]},"271":{"position":[[400,7]]},"281":{"position":[[87,6]]}}}],["devices",{"_index":1620,"t":{"105":{"position":[[95,8],[172,8],[456,8]]},"107":{"position":[[60,8],[231,8]]},"113":{"position":[[724,8],[757,8],[809,8]]},"185":{"position":[[27,8],[95,7],[171,7]]},"201":{"position":[[61,8]]},"229":{"position":[[70,8]]},"305":{"position":[[195,7]]},"311":{"position":[[1398,8]]},"351":{"position":[[291,7]]}}}],["diagram",{"_index":302,"t":{"11":{"position":[[3070,7],[3116,7]]},"13":{"position":[[563,7],[1657,7],[2553,7],[3050,7]]}}}],["difference",{"_index":2061,"t":{"160":{"position":[[1356,10],[1622,10]]}}}],["different",{"_index":142,"t":{"9":{"position":[[706,9]]},"21":{"position":[[197,9]]},"29":{"position":[[397,9]]},"93":{"position":[[37,9],[63,9]]},"111":{"position":[[1177,9]]},"146":{"position":[[167,9]]},"148":{"position":[[32,9]]},"150":{"position":[[148,9],[1017,9]]},"166":{"position":[[67,9]]},"187":{"position":[[8,9]]},"279":{"position":[[20,9],[62,9]]}}}],["differentiate",{"_index":1856,"t":{"131":{"position":[[99,13]]}}}],["differently",{"_index":976,"t":{"27":{"position":[[2036,12]]}}}],["difficult",{"_index":1853,"t":{"129":{"position":[[160,9]]}}}],["direct",{"_index":1418,"t":{"61":{"position":[[343,6]]}}}],["directly",{"_index":1072,"t":{"31":{"position":[[2355,8]]},"156":{"position":[[42,8]]},"158":{"position":[[272,8]]},"179":{"position":[[414,9]]},"207":{"position":[[209,9]]}}}],["directories",{"_index":2352,"t":{"305":{"position":[[282,11]]}}}],["directory",{"_index":1454,"t":{"75":{"position":[[112,10]]},"277":{"position":[[65,9]]},"283":{"position":[[223,9]]}}}],["dirty",{"_index":7,"t":{"3":{"position":[[106,5]]},"5":{"position":[[79,5]]},"7":{"position":[[298,5]]},"13":{"position":[[2138,5],[2242,5],[2398,5],[2614,5]]},"15":{"position":[[362,5]]}}}],["discord",{"_index":95,"t":{"7":{"position":[[406,7],[682,7],[859,7]]},"9":{"position":[[1124,7],[1192,7],[1235,7],[1251,7]]},"11":{"position":[[559,7],[2669,7],[2855,7],[2893,7],[3054,7]]},"13":{"position":[[2048,7],[2772,7]]},"15":{"position":[[28,7],[71,7],[108,7],[433,7]]}}}],["discord’s",{"_index":444,"t":{"15":{"position":[[693,9]]}}}],["discover",{"_index":1526,"t":{"81":{"position":[[1167,8]]}}}],["discussing",{"_index":1027,"t":{"31":{"position":[[155,10]]}}}],["discussion",{"_index":1099,"t":{"33":{"position":[[22,10]]}}}],["dish",{"_index":228,"t":{"11":{"position":[[1066,4]]},"13":{"position":[[2404,4]]},"19":{"position":[[515,4]]}}}],["dishes",{"_index":8,"t":{"3":{"position":[[112,6],[881,6]]},"5":{"position":[[85,6],[854,6]]},"7":{"position":[[113,6],[304,6],[502,6],[794,7]]},"11":{"position":[[1154,7]]},"13":{"position":[[2144,6],[2248,6],[2436,6],[2620,6],[2845,6],[3026,6]]},"15":{"position":[[398,7],[953,6]]}}}],["display",{"_index":624,"t":{"21":{"position":[[1986,7],[2169,7]]},"43":{"position":[[686,8]]},"217":{"position":[[52,7]]},"295":{"position":[[52,7]]},"323":{"position":[[52,7]]}}}],["displaying",{"_index":605,"t":{"21":{"position":[[1522,10]]},"137":{"position":[[112,10]]}}}],["displays",{"_index":570,"t":{"21":{"position":[[708,8],[2377,8]]}}}],["distribution",{"_index":649,"t":{"21":{"position":[[2592,13],[2747,13]]},"23":{"position":[[951,12],[1037,12],[1371,12],[1449,12],[1502,12],[3633,12],[4249,13],[4496,12]]},"25":{"position":[[425,12],[1249,12]]},"27":{"position":[[812,12]]},"41":{"position":[[262,13],[391,12],[437,12],[527,12],[1084,12],[1130,12]]},"45":{"position":[[197,13]]}}}],["distribution's",{"_index":2220,"t":{"223":{"position":[[9,14]]}}}],["distributions",{"_index":930,"t":{"25":{"position":[[1813,13]]},"37":{"position":[[262,13],[366,14],[796,14]]},"183":{"position":[[108,13]]}}}],["distutils",{"_index":2242,"t":{"225":{"position":[[432,9]]}}}],["dnf",{"_index":2225,"t":{"223":{"position":[[221,3]]}}}],["docker",{"_index":2129,"t":{"187":{"position":[[72,6]]},"237":{"position":[[12,6],[74,6],[165,6]]},"251":{"position":[[12,6],[73,6],[164,6]]},"275":{"position":[[238,6]]},"277":{"position":[[11,6],[40,6],[90,6],[164,6],[191,6],[211,6]]},"279":{"position":[[72,6],[102,6],[120,6]]},"281":{"position":[[52,6],[147,6]]},"307":{"position":[[81,6]]},"311":{"position":[[44,6],[124,6],[573,6],[929,6],[1144,6],[1164,6]]},"374":{"position":[[0,6]]},"376":{"position":[[39,6]]},"378":{"position":[[835,6],[1426,6]]},"380":{"position":[[158,6],[316,6]]}}}],["docs/static/img/doorway.jpg",{"_index":1353,"t":{"52":{"position":[[209,31]]},"58":{"position":[[467,31]]},"79":{"position":[[289,31]]}}}],["document",{"_index":2470,"t":{"355":{"position":[[111,8]]}}}],["documentation",{"_index":446,"t":{"15":{"position":[[710,13]]},"105":{"position":[[620,13]]},"111":{"position":[[526,13]]},"117":{"position":[[174,13]]},"121":{"position":[[469,13]]},"150":{"position":[[967,13]]},"227":{"position":[[133,13]]},"241":{"position":[[133,13]]},"255":{"position":[[133,13]]},"303":{"position":[[133,13]]},"331":{"position":[[133,13]]},"380":{"position":[[470,13]]}}}],["doesn't",{"_index":928,"t":{"25":{"position":[[1739,7]]},"27":{"position":[[1702,7]]},"190":{"position":[[176,7]]}}}],["dog",{"_index":2179,"t":{"198":{"position":[[329,3]]},"339":{"position":[[63,3],[258,3]]},"355":{"position":[[87,3],[183,3],[306,3],[378,3]]},"357":{"position":[[152,3]]},"361":{"position":[[1598,3]]}}}],["dog_on_couch_detector.py",{"_index":2515,"t":{"361":{"position":[[1710,24],[1754,24]]}}}],["doing",{"_index":437,"t":{"15":{"position":[[388,5]]},"31":{"position":[[612,5]]}}}],["domain.com/wp",{"_index":1929,"t":{"144":{"position":[[1018,13]]}}}],["don't",{"_index":1340,"t":{"49":{"position":[[639,5]]},"95":{"position":[[47,5]]},"205":{"position":[[474,5],[520,5]]},"259":{"position":[[451,5]]}}}],["done",{"_index":435,"t":{"15":{"position":[[182,5]]},"31":{"position":[[2563,4]]},"117":{"position":[[668,4]]},"205":{"position":[[446,4]]},"267":{"position":[[149,4]]}}}],["door",{"_index":1543,"t":{"84":{"position":[[243,4]]}}}],["doorway",{"_index":1351,"t":{"52":{"position":[[187,7]]},"58":{"position":[[445,7]]},"179":{"position":[[805,7]]}}}],["dot",{"_index":815,"t":{"23":{"position":[[3669,3]]}}}],["dot's",{"_index":821,"t":{"23":{"position":[[3762,5]]}}}],["dotted",{"_index":825,"t":{"23":{"position":[[3848,6]]}}}],["down",{"_index":138,"t":{"9":{"position":[[635,4]]},"11":{"position":[[609,4]]},"13":{"position":[[1413,4]]}}}],["download",{"_index":1619,"t":{"105":{"position":[[56,8]]},"225":{"position":[[581,8]]},"301":{"position":[[0,8]]},"329":{"position":[[0,8]]}}}],["downloaded",{"_index":1646,"t":{"107":{"position":[[901,10]]}}}],["downloading",{"_index":1634,"t":{"105":{"position":[[502,11]]}}}],["downloads",{"_index":1640,"t":{"107":{"position":[[362,9]]}}}],["drawn",{"_index":749,"t":{"23":{"position":[[2271,5],[2624,5]]}}}],["drifts",{"_index":691,"t":{"23":{"position":[[729,6]]}}}],["driven",{"_index":2407,"t":{"337":{"position":[[215,6]]},"364":{"position":[[1274,6]]}}}],["due",{"_index":1139,"t":{"35":{"position":[[1046,3]]},"125":{"position":[[834,3]]},"179":{"position":[[482,3]]}}}],["during",{"_index":1797,"t":{"123":{"position":[[78,6]]},"125":{"position":[[30,6]]},"364":{"position":[[723,6]]}}}],["d−d",{"_index":1146,"t":{"37":{"position":[[393,4]]}}}],["e",{"_index":1816,"t":{"125":{"position":[[408,2]]},"361":{"position":[[1325,2],[1366,5]]},"370":{"position":[[2038,2],[2079,5]]}}}],["e.g",{"_index":176,"t":{"9":{"position":[[1332,5]]},"15":{"position":[[339,5]]},"101":{"position":[[649,6]]},"117":{"position":[[978,6]]},"121":{"position":[[396,5]]},"133":{"position":[[44,6]]},"150":{"position":[[632,6]]},"221":{"position":[[140,6]]},"299":{"position":[[146,6]]},"327":{"position":[[140,6]]},"357":{"position":[[112,6]]},"370":{"position":[[1193,4],[1225,4]]}}}],["e.reason",{"_index":1819,"t":{"125":{"position":[[469,8],[544,12]]}}}],["e.status",{"_index":1824,"t":{"125":{"position":[[559,8],[624,12]]}}}],["e_{(x,y",{"_index":1156,"t":{"37":{"position":[[859,8],[988,8]]}}}],["each",{"_index":140,"t":{"9":{"position":[[688,4]]},"11":{"position":[[124,4],[1942,4]]},"13":{"position":[[1630,4],[1784,4]]},"21":{"position":[[717,4],[2238,4]]},"23":{"position":[[1558,4],[2784,4],[3664,4]]},"35":{"position":[[650,4]]},"37":{"position":[[295,4],[767,4]]},"39":{"position":[[1790,4],[2023,4]]},"47":{"position":[[210,4],[564,4]]},"49":{"position":[[426,4],[536,4]]},"378":{"position":[[2153,4]]}}}],["earlier",{"_index":2229,"t":{"223":{"position":[[385,8]]},"301":{"position":[[188,8]]},"329":{"position":[[243,8]]}}}],["earliest",{"_index":2093,"t":{"172":{"position":[[229,8]]}}}],["early",{"_index":1880,"t":{"139":{"position":[[97,5]]}}}],["easier",{"_index":580,"t":{"21":{"position":[[1018,6]]}}}],["easiest",{"_index":2237,"t":{"225":{"position":[[171,7]]},"267":{"position":[[58,7]]}}}],["easily",{"_index":1062,"t":{"31":{"position":[[2103,6]]},"43":{"position":[[125,6]]},"351":{"position":[[48,6]]}}}],["easy",{"_index":126,"t":{"9":{"position":[[204,4]]},"81":{"position":[[1024,4]]},"150":{"position":[[871,4]]},"259":{"position":[[36,4]]},"271":{"position":[[339,4]]},"311":{"position":[[26,4]]},"378":{"position":[[42,4]]}}}],["edge",{"_index":1392,"t":{"56":{"position":[[118,4]]},"81":{"position":[[1161,5],[1205,4]]},"105":{"position":[[35,4],[90,4],[167,4],[273,4],[383,4],[451,4],[469,4],[642,4]]},"107":{"position":[[4,4],[55,4],[226,4],[321,4],[385,4],[456,4],[586,4],[806,4],[829,4],[919,4],[955,4],[1007,5],[1133,4]]},"109":{"position":[[13,4],[106,4],[187,4]]},"111":{"position":[[15,4],[65,4],[206,4],[335,4],[451,4],[587,4],[674,4],[1028,4],[1147,4],[1284,4]]},"113":{"position":[[24,4],[318,4],[629,4],[719,4]]},"185":{"position":[[12,4]]},"201":{"position":[[56,4]]},"343":{"position":[[195,4]]}}}],["effective",{"_index":480,"t":{"17":{"position":[[383,10]]},"133":{"position":[[119,9]]}}}],["effectiveness",{"_index":2542,"t":{"364":{"position":[[1189,13]]}}}],["efficiency",{"_index":2429,"t":{"343":{"position":[[306,11]]}}}],["efficient",{"_index":1722,"t":{"113":{"position":[[677,10]]},"345":{"position":[[324,10]]}}}],["efficiently",{"_index":1080,"t":{"31":{"position":[[2568,11]]}}}],["effort",{"_index":523,"t":{"19":{"position":[[477,7]]},"43":{"position":[[47,6]]}}}],["effortlessly",{"_index":503,"t":{"19":{"position":[[131,12]]}}}],["egg",{"_index":805,"t":{"23":{"position":[[3469,3]]}}}],["elif",{"_index":1776,"t":{"119":{"position":[[985,4],[1064,4]]}}}],["ellipse",{"_index":813,"t":{"23":{"position":[[3605,7]]}}}],["email",{"_index":1532,"t":{"81":{"position":[[1346,5]]},"103":{"position":[[46,5]]},"261":{"position":[[81,5]]},"337":{"position":[[204,5]]},"364":{"position":[[2023,6]]},"366":{"position":[[89,5]]},"370":{"position":[[686,6]]}}}],["email.mime.multipart",{"_index":2561,"t":{"370":{"position":[[229,20]]}}}],["email.mime.text",{"_index":2563,"t":{"370":{"position":[[276,15]]}}}],["emails",{"_index":2522,"t":{"364":{"position":[[437,6]]},"370":{"position":[[3207,6]]}}}],["embedded",{"_index":40,"t":{"3":{"position":[[507,8]]},"5":{"position":[[480,8]]}}}],["emote",{"_index":453,"t":{"15":{"position":[[868,5],[1026,5]]}}}],["empirical",{"_index":781,"t":{"23":{"position":[[2935,9],[4398,9]]},"27":{"position":[[571,9],[740,9],[1086,9],[1271,9],[1443,9],[1560,9],[1958,9],[2124,9],[2285,9],[2512,9],[2806,9],[3002,9],[3236,9],[3349,9]]},"29":{"position":[[104,9],[199,9]]},"41":{"position":[[457,9],[1295,9],[1443,9]]}}}],["employees",{"_index":2526,"t":{"364":{"position":[[699,9]]}}}],["empty",{"_index":237,"t":{"11":{"position":[[1207,5]]},"13":{"position":[[2202,6]]}}}],["enable",{"_index":2649,"t":{"378":{"position":[[1017,6],[1090,6],[1615,6],[2083,6],[2175,6]]}}}],["enabled",{"_index":429,"t":{"13":{"position":[[3588,7]]},"19":{"position":[[100,7]]}}}],["enables",{"_index":206,"t":{"11":{"position":[[498,7]]},"81":{"position":[[90,7]]},"271":{"position":[[331,7]]},"311":{"position":[[779,7]]}}}],["enabling",{"_index":1639,"t":{"107":{"position":[[166,8]]},"144":{"position":[[2036,8]]},"343":{"position":[[107,8]]},"345":{"position":[[198,8]]},"364":{"position":[[2030,8]]}}}],["encoded",{"_index":322,"t":{"13":{"position":[[375,7]]}}}],["encounter",{"_index":1796,"t":{"123":{"position":[[61,9]]}}}],["encountered",{"_index":1013,"t":{"29":{"position":[[552,11]]}}}],["encourage",{"_index":510,"t":{"19":{"position":[[278,9]]},"364":{"position":[[1329,9]]}}}],["encourages",{"_index":98,"t":{"7":{"position":[[458,10]]}}}],["end",{"_index":2231,"t":{"225":{"position":[[56,3]]},"239":{"position":[[15,3],[22,3]]},"253":{"position":[[15,3],[22,3]]},"357":{"position":[[183,3],[190,3]]},"364":{"position":[[418,3]]},"370":{"position":[[3188,3]]}}}],["end_of_business",{"_index":2586,"t":{"370":{"position":[[1202,15],[1344,15],[2608,15]]}}}],["endless",{"_index":562,"t":{"21":{"position":[[589,7]]}}}],["endpoint",{"_index":1631,"t":{"105":{"position":[[388,9],[474,8],[647,8]]},"107":{"position":[[9,8],[326,8],[960,8],[1138,8]]},"109":{"position":[[18,8],[111,8],[192,9]]},"111":{"position":[[20,9],[106,9],[211,9],[340,8],[592,8],[679,8],[726,8],[1033,8],[1100,8],[1152,8],[1289,9]]},"113":{"position":[[29,8],[323,8],[634,8]]}}}],["endpoint's",{"_index":1667,"t":{"111":{"position":[[70,10]]}}}],["engagement",{"_index":2541,"t":{"364":{"position":[[1056,11]]}}}],["engaging",{"_index":506,"t":{"19":{"position":[[214,8]]}}}],["enhance",{"_index":188,"t":{"11":{"position":[[84,7]]},"335":{"position":[[402,7]]},"351":{"position":[[128,7]]}}}],["enhancing",{"_index":2428,"t":{"343":{"position":[[296,9]]}}}],["enough",{"_index":607,"t":{"21":{"position":[[1574,7]]},"23":{"position":[[324,7]]},"31":{"position":[[2968,6]]},"54":{"position":[[135,6]]},"364":{"position":[[692,6]]}}}],["ensure",{"_index":991,"t":{"27":{"position":[[2675,6]]},"119":{"position":[[27,6]]},"137":{"position":[[0,6]]},"139":{"position":[[15,6],[107,6]]},"144":{"position":[[150,6]]},"211":{"position":[[0,6]]},"231":{"position":[[0,6]]},"245":{"position":[[0,6]]},"283":{"position":[[201,6]]},"289":{"position":[[0,6]]},"317":{"position":[[0,6]]},"359":{"position":[[0,6]]},"368":{"position":[[0,6]]}}}],["ensures",{"_index":344,"t":{"13":{"position":[[791,7],[2311,7],[2481,7],[2745,7],[2908,7]]}}}],["ensuring",{"_index":329,"t":{"13":{"position":[[497,8],[910,8]]},"349":{"position":[[66,8]]},"364":{"position":[[678,8],[1801,8]]}}}],["enter",{"_index":1439,"t":{"67":{"position":[[32,5]]},"281":{"position":[[203,6]]},"378":{"position":[[1845,5],[2059,5]]}}}],["enterprise",{"_index":2160,"t":{"196":{"position":[[340,10]]}}}],["enters",{"_index":1977,"t":{"152":{"position":[[195,6]]}}}],["entire",{"_index":2631,"t":{"370":{"position":[[3268,6]]}}}],["entries",{"_index":1770,"t":{"119":{"position":[[501,7]]}}}],["env",{"_index":1458,"t":{"75":{"position":[[180,3]]}}}],["env/bin/activate",{"_index":1462,"t":{"75":{"position":[[261,16]]}}}],["env\\scripts\\activate",{"_index":1464,"t":{"75":{"position":[[304,20]]}}}],["environment",{"_index":1403,"t":{"58":{"position":[[203,11]]},"61":{"position":[[189,11],[303,11]]},"63":{"position":[[16,11]]},"71":{"position":[[48,11]]},"75":{"position":[[140,12],[205,11]]},"77":{"position":[[122,11]]},"111":{"position":[[901,11]]},"307":{"position":[[150,11]]},"351":{"position":[[401,12]]},"370":{"position":[[753,12]]},"378":{"position":[[202,11]]}}}],["environments",{"_index":1527,"t":{"81":{"position":[[1220,12]]}}}],["equal",{"_index":927,"t":{"25":{"position":[[1711,5]]},"27":{"position":[[730,5],[1990,5]]},"41":{"position":[[1273,5],[1374,5],[1430,5]]}}}],["equals",{"_index":797,"t":{"23":{"position":[[3266,6]]},"33":{"position":[[452,6]]},"49":{"position":[[609,6]]}}}],["equipment",{"_index":2385,"t":{"335":{"position":[[196,9]]},"345":{"position":[[184,10]]}}}],["equivalent",{"_index":2085,"t":{"170":{"position":[[87,10]]}}}],["error",{"_index":1105,"t":{"33":{"position":[[415,5],[441,5],[574,5]]},"125":{"position":[[24,5],[516,5],[1012,6],[1022,5]]},"133":{"position":[[51,6]]},"137":{"position":[[137,5]]},"139":{"position":[[32,5]]},"142":{"position":[[1113,5]]}}}],["errors",{"_index":1267,"t":{"41":{"position":[[1226,6]]},"81":{"position":[[864,7],[919,6]]},"123":{"position":[[71,6],[132,6]]},"131":{"position":[[73,7],[121,6]]},"135":{"position":[[63,7]]},"137":{"position":[[51,6]]},"139":{"position":[[147,6],[287,6]]},"142":{"position":[[1158,7]]}}}],["escalate",{"_index":1645,"t":{"107":{"position":[[666,8]]},"142":{"position":[[954,8]]}}}],["escalated",{"_index":1366,"t":{"54":{"position":[[238,9]]},"142":{"position":[[1289,9]]},"170":{"position":[[601,9]]},"172":{"position":[[645,9]]}}}],["escalating",{"_index":1644,"t":{"107":{"position":[[555,10]]}}}],["escalation",{"_index":1384,"t":{"56":{"position":[[14,10]]},"172":{"position":[[245,10]]},"179":{"position":[[197,10],[465,10]]}}}],["esp32",{"_index":2130,"t":{"187":{"position":[[79,5]]},"257":{"position":[[71,5]]},"259":{"position":[[95,5],[216,5],[328,5]]},"263":{"position":[[45,5],[174,5],[223,5],[266,5]]},"265":{"position":[[70,6]]}}}],["esp32s3",{"_index":2285,"t":{"263":{"position":[[304,7]]}}}],["estimate",{"_index":613,"t":{"21":{"position":[[1657,8],[1873,8]]},"23":{"position":[[3,8],[2539,8]]},"43":{"position":[[396,8]]}}}],["estimated",{"_index":836,"t":{"23":{"position":[[4157,9]]},"41":{"position":[[1390,9]]},"43":{"position":[[456,9]]}}}],["estimating",{"_index":811,"t":{"23":{"position":[[3522,10]]}}}],["et",{"_index":1304,"t":{"45":{"position":[[143,2]]},"49":{"position":[[766,2]]}}}],["etc",{"_index":233,"t":{"11":{"position":[[1130,4]]},"305":{"position":[[231,4]]}}}],["evaluates",{"_index":2082,"t":{"168":{"position":[[14,9]]},"172":{"position":[[7,9]]}}}],["evaluating",{"_index":763,"t":{"23":{"position":[[2554,10],[4469,10]]}}}],["even",{"_index":694,"t":{"23":{"position":[[804,4]]},"27":{"position":[[1075,4],[2621,4],[2916,4]]},"35":{"position":[[1272,4]]},"54":{"position":[[405,4]]},"107":{"position":[[1086,4]]},"144":{"position":[[204,4]]},"237":{"position":[[60,4]]},"251":{"position":[[59,4]]}}}],["event",{"_index":1332,"t":{"47":{"position":[[621,5]]},"125":{"position":[[7,5]]},"370":{"position":[[3103,6]]}}}],["events",{"_index":986,"t":{"27":{"position":[[2554,6]]},"47":{"position":[[60,7]]}}}],["everyone",{"_index":111,"t":{"7":{"position":[[666,8]]}}}],["evidenced",{"_index":994,"t":{"27":{"position":[[2899,9]]}}}],["exact",{"_index":600,"t":{"21":{"position":[[1460,5],[2177,5],[2846,6]]},"29":{"position":[[242,5]]},"31":{"position":[[69,5]]},"39":{"position":[[2351,5]]},"41":{"position":[[80,5],[1648,5]]},"43":{"position":[[260,5],[480,5]]}}}],["exactly",{"_index":759,"t":{"23":{"position":[[2444,7]]},"25":{"position":[[116,7]]},"29":{"position":[[129,7],[627,7]]},"31":{"position":[[449,7],[1878,7]]}}}],["examined",{"_index":935,"t":{"27":{"position":[[15,8]]}}}],["example",{"_index":450,"t":{"15":{"position":[[796,8]]},"23":{"position":[[1563,7],[1778,7],[1992,7],[2263,7],[3697,7]]},"25":{"position":[[275,7]]},"35":{"position":[[482,8]]},"84":{"position":[[175,8]]},"89":{"position":[[74,8]]},"111":{"position":[[1015,8]]},"115":{"position":[[259,8]]},"117":{"position":[[735,8]]},"119":{"position":[[315,8]]},"144":{"position":[[699,8]]},"152":{"position":[[866,8]]},"156":{"position":[[84,8]]},"160":{"position":[[1508,7]]},"164":{"position":[[471,8],[691,8]]},"175":{"position":[[71,8],[126,8]]},"239":{"position":[[26,7]]},"253":{"position":[[26,7]]},"305":{"position":[[413,8]]},"311":{"position":[[66,8]]},"333":{"position":[[14,7]]},"339":{"position":[[122,7]]},"355":{"position":[[20,7]]},"364":{"position":[[5,7]]},"372":{"position":[[8,7],[117,8]]},"374":{"position":[[97,8]]},"378":{"position":[[504,7],[720,8]]}}}],["examples",{"_index":699,"t":{"23":{"position":[[967,8],[1400,8],[2593,9],[3391,8],[3649,9],[4294,8],[4512,9]]},"27":{"position":[[161,8],[396,9]]},"31":{"position":[[1312,8],[1385,9],[2834,9]]},"33":{"position":[[670,9],[727,9],[1078,8]]},"37":{"position":[[89,8],[142,8],[281,8]]},"39":{"position":[[204,8],[258,8],[312,8],[396,8]]},"43":{"position":[[568,8]]},"84":{"position":[[727,9]]},"107":{"position":[[768,8],[866,9]]},"380":{"position":[[104,9]]}}}],["exceeded",{"_index":1841,"t":{"125":{"position":[[981,8]]}}}],["excellent",{"_index":488,"t":{"17":{"position":[[617,9]]}}}],["except",{"_index":248,"t":{"11":{"position":[[1458,6]]},"125":{"position":[[385,6]]},"361":{"position":[[1302,6]]},"370":{"position":[[2018,6]]}}}],["exception",{"_index":1803,"t":{"125":{"position":[[99,9]]},"129":{"position":[[124,10]]},"131":{"position":[[25,9]]},"370":{"position":[[2025,9]]}}}],["exceptions",{"_index":1801,"t":{"123":{"position":[[188,11]]},"127":{"position":[[77,10]]},"129":{"position":[[24,10],[108,10]]},"133":{"position":[[4,10]]},"137":{"position":[[70,10]]},"139":{"position":[[304,10]]}}}],["execution",{"_index":195,"t":{"11":{"position":[[240,9]]}}}],["existing",{"_index":2104,"t":{"179":{"position":[[151,8]]},"190":{"position":[[89,8]]},"351":{"position":[[260,8]]}}}],["exists",{"_index":718,"t":{"23":{"position":[[1362,6]]},"31":{"position":[[1712,6]]},"190":{"position":[[184,7]]}}}],["expect",{"_index":1848,"t":{"129":{"position":[[44,6]]},"142":{"position":[[475,6]]}}}],["expected",{"_index":1603,"t":{"101":{"position":[[612,8]]},"139":{"position":[[56,9]]},"142":{"position":[[621,8]]},"144":{"position":[[240,9]]},"158":{"position":[[227,8]]},"160":{"position":[[1155,9]]},"378":{"position":[[1274,9]]}}}],["expects",{"_index":2046,"t":{"160":{"position":[[554,7]]}}}],["experience",{"_index":2553,"t":{"364":{"position":[[1623,10],[2112,11]]}}}],["experiencing",{"_index":1612,"t":{"101":{"position":[[815,12]]}}}],["experimentalapi",{"_index":2162,"t":{"196":{"position":[[382,15],[416,17]]},"198":{"position":[[120,15],[154,17]]}}}],["explore",{"_index":2127,"t":{"187":{"position":[[0,7]]},"333":{"position":[[0,7]]},"364":{"position":[[1381,7]]}}}],["exploring",{"_index":1537,"t":{"81":{"position":[[1558,9]]}}}],["exponential",{"_index":1863,"t":{"135":{"position":[[29,11]]}}}],["export",{"_index":1406,"t":{"58":{"position":[[243,6]]},"77":{"position":[[218,6]]},"111":{"position":[[928,6]]},"307":{"position":[[172,6]]},"378":{"position":[[224,6]]}}}],["exposition",{"_index":659,"t":{"21":{"position":[[2924,10]]}}}],["expression",{"_index":422,"t":{"13":{"position":[[3423,10]]}}}],["extending",{"_index":464,"t":{"17":{"position":[[0,9]]}}}],["extra",{"_index":2238,"t":{"225":{"position":[[292,5]]}}}],["extracting",{"_index":1954,"t":{"150":{"position":[[120,10]]}}}],["extremely",{"_index":171,"t":{"9":{"position":[[1269,9],[1405,9]]},"205":{"position":[[11,9]]}}}],["f",{"_index":2319,"t":{"279":{"position":[[118,1]]},"283":{"position":[[183,1]]},"311":{"position":[[262,1],[341,1],[685,1],[1041,1],[1285,1]]},"378":{"position":[[975,1],[1575,1]]}}}],["f\"hourly",{"_index":2616,"t":{"370":{"position":[[2435,8]]}}}],["f\"{msg}\\n",{"_index":2622,"t":{"370":{"position":[[2723,10]]}}}],["f1",{"_index":583,"t":{"21":{"position":[[1061,2]]}}}],["f_{n,p}(k",{"_index":1055,"t":{"31":{"position":[[1589,10]]}}}],["f_{n,p}(k).fn,p(k)=j=0∑kfn,p(k",{"_index":910,"t":{"25":{"position":[[1137,35]]}}}],["f_{n,p}(n",{"_index":1115,"t":{"33":{"position":[[963,9]]}}}],["facilitate",{"_index":2299,"t":{"271":{"position":[[93,10]]}}}],["fact",{"_index":702,"t":{"23":{"position":[[1057,5]]},"27":{"position":[[1015,4],[1481,5]]},"29":{"position":[[472,4]]}}}],["factory",{"_index":1584,"t":{"97":{"position":[[151,7]]}}}],["fail",{"_index":1204,"t":{"39":{"position":[[1819,4]]}}}],["failing",{"_index":1207,"t":{"39":{"position":[[1962,7]]}}}],["fails",{"_index":1208,"t":{"39":{"position":[[2028,6],[2133,5],[2258,5]]}}}],["failure",{"_index":1210,"t":{"39":{"position":[[2050,7]]}}}],["fairly",{"_index":966,"t":{"27":{"position":[[1642,6]]}}}],["false",{"_index":181,"t":{"9":{"position":[[1454,6]]},"13":{"position":[[1131,5]]},"21":{"position":[[464,5],[537,5]]}}}],["familiar",{"_index":657,"t":{"21":{"position":[[2778,8]]}}}],["far",{"_index":707,"t":{"23":{"position":[[1149,3]]},"196":{"position":[[3,4]]}}}],["fastapi",{"_index":2341,"t":{"285":{"position":[[231,7]]}}}],["faster",{"_index":68,"t":{"3":{"position":[[899,6]]},"5":{"position":[[872,6]]},"54":{"position":[[622,6]]},"111":{"position":[[277,7]]},"142":{"position":[[1388,6]]}}}],["fastest",{"_index":1911,"t":{"142":{"position":[[1527,7]]},"172":{"position":[[283,7]]}}}],["fatigue",{"_index":2659,"t":{"378":{"position":[[2224,7]]}}}],["features",{"_index":449,"t":{"15":{"position":[[782,9]]},"150":{"position":[[26,8]]},"201":{"position":[[402,9]]},"337":{"position":[[85,8]]},"341":{"position":[[75,8]]}}}],["featuring",{"_index":2300,"t":{"271":{"position":[[258,9]]}}}],["fedora",{"_index":2119,"t":{"183":{"position":[[85,6]]},"223":{"position":[[194,6]]}}}],["feed",{"_index":1606,"t":{"101":{"position":[[676,6]]},"144":{"position":[[743,5]]}}}],["feeder",{"_index":2143,"t":{"190":{"position":[[461,9]]},"341":{"position":[[215,6]]},"372":{"position":[[178,6],[253,7]]},"374":{"position":[[133,6]]},"378":{"position":[[364,8],[778,6],[1751,7],[1907,7],[2441,7]]}}}],["feel",{"_index":511,"t":{"19":{"position":[[322,4]]},"285":{"position":[[287,4]]}}}],["fetch",{"_index":1764,"t":{"119":{"position":[[122,5]]}}}],["few",{"_index":377,"t":{"13":{"position":[[1436,3]]},"21":{"position":[[1844,3]]},"52":{"position":[[49,3]]},"84":{"position":[[692,3]]},"101":{"position":[[739,3]]},"144":{"position":[[807,3]]},"179":{"position":[[105,3]]},"259":{"position":[[154,3]]}}}],["fewer",{"_index":905,"t":{"25":{"position":[[983,5]]},"31":{"position":[[327,5]]}}}],["fiction",{"_index":705,"t":{"23":{"position":[[1096,8],[1135,7]]}}}],["field",{"_index":1736,"t":{"117":{"position":[[450,5]]}}}],["fields",{"_index":323,"t":{"13":{"position":[[389,7]]}}}],["figure",{"_index":596,"t":{"21":{"position":[[1363,6],[2465,6]]},"23":{"position":[[4121,6]]},"27":{"position":[[771,6],[1313,6],[2380,6],[3107,6]]},"35":{"position":[[1071,6]]},"39":{"position":[[2979,6]]},"47":{"position":[[513,6]]}}}],["file",{"_index":1354,"t":{"52":{"position":[[258,4]]},"58":{"position":[[516,4]]},"79":{"position":[[338,4]]},"277":{"position":[[30,5],[109,4]]},"283":{"position":[[264,5]]},"311":{"position":[[118,5],[315,4]]},"357":{"position":[[107,4]]}}}],["file=discord.file(fpath",{"_index":443,"t":{"15":{"position":[[606,25]]}}}],["files",{"_index":2348,"t":{"305":{"position":[[219,5]]},"380":{"position":[[59,6],[134,5]]}}}],["filtering",{"_index":258,"t":{"11":{"position":[[1810,9]]}}}],["finally",{"_index":2653,"t":{"378":{"position":[[1683,8]]}}}],["find",{"_index":621,"t":{"21":{"position":[[1954,4]]},"29":{"position":[[351,4]]},"31":{"position":[[1925,4],[2251,4],[2499,4]]},"39":{"position":[[472,4],[844,4]]},"69":{"position":[[0,4]]},"105":{"position":[[595,4]]},"190":{"position":[[81,4]]},"257":{"position":[[99,4]]},"309":{"position":[[251,4]]}}}],["fine",{"_index":2073,"t":{"164":{"position":[[408,4]]}}}],["finite",{"_index":764,"t":{"23":{"position":[[2574,6],[3579,6],[4189,6]]},"25":{"position":[[100,6]]}}}],["firmware",{"_index":2276,"t":{"263":{"position":[[108,8]]}}}],["first",{"_index":391,"t":{"13":{"position":[[1843,5]]},"23":{"position":[[73,5]]},"31":{"position":[[210,6]]},"39":{"position":[[946,5]]},"54":{"position":[[16,5],[421,5],[458,5]]},"89":{"position":[[307,5]]},"146":{"position":[[49,5]]},"150":{"position":[[432,5]]},"152":{"position":[[298,5]]},"172":{"position":[[59,5]]},"179":{"position":[[76,5]]},"361":{"position":[[0,6]]},"370":{"position":[[0,6]]},"378":{"position":[[95,6]]}}}],["fixed",{"_index":472,"t":{"17":{"position":[[206,5]]},"23":{"position":[[1470,5]]}}}],["flag",{"_index":2364,"t":{"311":{"position":[[343,4],[774,4],[923,5],[1132,4]]},"378":{"position":[[1306,4],[1420,5]]}}}],["flexibility",{"_index":150,"t":{"9":{"position":[[799,11]]}}}],["flexible",{"_index":173,"t":{"9":{"position":[[1292,8]]}}}],["flipping",{"_index":871,"t":{"25":{"position":[[298,8]]}}}],["flips",{"_index":867,"t":{"25":{"position":[[225,6]]},"33":{"position":[[41,5]]}}}],["floats",{"_index":2029,"t":{"160":{"position":[[194,8]]}}}],["floor",{"_index":1585,"t":{"97":{"position":[[159,7]]}}}],["flow",{"_index":389,"t":{"13":{"position":[[1701,4],[2586,4],[3083,4]]}}}],["flowcharts",{"_index":378,"t":{"13":{"position":[[1443,11]]}}}],["fn,p(k",{"_index":1052,"t":{"31":{"position":[[1534,9]]}}}],["fn,p(k)=(nk)pk(1−p)n−k.f_{n,p}(k",{"_index":891,"t":{"25":{"position":[[679,33]]}}}],["fn,p(k)=∑j=0kfn,p(k).f_{n,p}(k",{"_index":907,"t":{"25":{"position":[[1088,31]]}}}],["fn,p(k)f_{n,p}(k)fn,p(k",{"_index":1028,"t":{"31":{"position":[[258,26]]}}}],["fn,p(k)≥δf_{n,p}(k",{"_index":1069,"t":{"31":{"position":[[2291,19]]}}}],["fn,p(n−k",{"_index":1113,"t":{"33":{"position":[[896,11]]}}}],["fn=100,p(k=80)f_{n=100,p}(k=80)fn=100,p(k=80",{"_index":1061,"t":{"31":{"position":[[2021,46]]}}}],["focus",{"_index":37,"t":{"3":{"position":[[475,5]]},"5":{"position":[[448,5]]},"13":{"position":[[3602,5]]},"144":{"position":[[855,5]]}}}],["follow",{"_index":1844,"t":{"127":{"position":[[39,6]]},"181":{"position":[[102,6]]}}}],["following",{"_index":1507,"t":{"81":{"position":[[291,9]]},"101":{"position":[[60,9]]},"103":{"position":[[25,9]]},"113":{"position":[[262,9]]},"139":{"position":[[183,9]]},"211":{"position":[[25,9]]},"213":{"position":[[90,9]]},"215":{"position":[[50,9]]},"217":{"position":[[89,9]]},"219":{"position":[[74,9]]},"231":{"position":[[25,9]]},"233":{"position":[[97,9]]},"235":{"position":[[50,9]]},"245":{"position":[[25,9]]},"247":{"position":[[96,9]]},"249":{"position":[[50,9]]},"261":{"position":[[22,9]]},"263":{"position":[[16,9]]},"289":{"position":[[25,9]]},"291":{"position":[[90,9]]},"293":{"position":[[50,9]]},"295":{"position":[[89,9]]},"297":{"position":[[74,9]]},"311":{"position":[[79,9],[554,9]]},"317":{"position":[[25,9]]},"319":{"position":[[90,9]]},"321":{"position":[[50,9]]},"323":{"position":[[89,9]]},"325":{"position":[[74,9]]},"378":{"position":[[816,9]]}}}],["follows",{"_index":661,"t":{"21":{"position":[[2943,7]]},"39":{"position":[[1764,8]]},"158":{"position":[[306,8]]},"225":{"position":[[265,7]]}}}],["fooled",{"_index":853,"t":{"23":{"position":[[4619,6]]}}}],["forbidden",{"_index":1834,"t":{"125":{"position":[[796,10]]}}}],["force",{"_index":2138,"t":{"190":{"position":[[213,5]]},"205":{"position":[[488,5]]}}}],["form",{"_index":834,"t":{"23":{"position":[[4097,4]]}}}],["formal",{"_index":1025,"t":{"31":{"position":[[115,6],[1222,6]]}}}],["format",{"_index":1972,"t":{"150":{"position":[[808,7],[838,6]]},"160":{"position":[[90,6],[764,6]]},"205":{"position":[[220,6],[369,7]]}}}],["formats",{"_index":1949,"t":{"146":{"position":[[189,8]]},"154":{"position":[[49,8]]}}}],["formatted_time",{"_index":2613,"t":{"370":{"position":[[2371,14],[2456,17]]}}}],["formula",{"_index":800,"t":{"23":{"position":[[3353,7]]}}}],["fortunately",{"_index":428,"t":{"13":{"position":[[3563,12]]},"17":{"position":[[593,12]]}}}],["forward",{"_index":1727,"t":{"115":{"position":[[285,7]]}}}],["found",{"_index":604,"t":{"21":{"position":[[1506,5]]},"125":{"position":[[876,6],[914,5]]}}}],["four",{"_index":987,"t":{"27":{"position":[[2573,4]]},"39":{"position":[[1802,4],[1950,4],[2080,4]]}}}],["frac",{"_index":1259,"t":{"41":{"position":[[968,6]]}}}],["fraction",{"_index":672,"t":{"23":{"position":[[234,8],[351,8],[2863,8],[2971,8]]},"31":{"position":[[861,8]]},"41":{"position":[[135,8]]}}}],["frac{1}{n",{"_index":786,"t":{"23":{"position":[[3055,11]]}}}],["frac{\\text{acc}^+(h",{"_index":1162,"t":{"37":{"position":[[1192,21]]}}}],["frac{p(1",{"_index":1245,"t":{"41":{"position":[[658,9]]}}}],["frame",{"_index":1968,"t":{"150":{"position":[[541,6],[737,5]]},"152":{"position":[[453,5],[722,5],[748,5],[773,5]]},"158":{"position":[[400,5],[433,5],[471,6],[489,5]]},"311":{"position":[[362,5]]},"341":{"position":[[93,5]]},"361":{"position":[[398,5]]},"370":{"position":[[497,5]]},"378":{"position":[[988,5],[1588,5]]}}}],["framegrab",{"_index":491,"t":{"17":{"position":[[649,10]]},"117":{"position":[[863,9]]},"148":{"position":[[70,10]]},"150":{"position":[[0,9],[553,9],[760,9],[957,9]]},"152":{"position":[[0,9],[502,9]]}}}],["framegrab[all",{"_index":1964,"t":{"150":{"position":[[398,14]]}}}],["framegrabber",{"_index":1745,"t":{"117":{"position":[[880,12],[940,12]]},"150":{"position":[[450,12],[570,12],[594,12]]},"152":{"position":[[519,13]]}}}],["framegrabber.create_grabber(config",{"_index":1753,"t":{"117":{"position":[[1044,35]]},"150":{"position":[[701,35]]},"152":{"position":[[597,35]]}}}],["frames",{"_index":1965,"t":{"150":{"position":[[424,7]]},"305":{"position":[[115,6]]},"311":{"position":[[293,6],[385,6],[723,6],[831,6]]},"313":{"position":[[29,6]]},"378":{"position":[[1057,6],[1655,6],[2342,6]]}}}],["free",{"_index":512,"t":{"19":{"position":[[327,4]]},"285":{"position":[[292,4]]}}}],["frequency",{"_index":470,"t":{"17":{"position":[[99,9]]}}}],["frequentist",{"_index":1335,"t":{"49":{"position":[[21,11]]}}}],["frequently",{"_index":266,"t":{"11":{"position":[[1931,10]]}}}],["friendly",{"_index":1874,"t":{"137":{"position":[[128,8]]}}}],["full",{"_index":456,"t":{"15":{"position":[[945,4]]},"23":{"position":[[3628,4],[4244,4],[4491,4]]},"89":{"position":[[121,6]]},"117":{"position":[[169,4]]},"144":{"position":[[1216,7]]}}}],["fun",{"_index":74,"t":{"7":{"position":[[72,3],[773,3]]},"13":{"position":[[3548,3]]},"19":{"position":[[206,3]]},"378":{"position":[[538,3]]}}}],["function",{"_index":318,"t":{"13":{"position":[[332,8]]},"23":{"position":[[935,8],[1850,9],[3251,8]]},"25":{"position":[[652,8],[796,8],[829,8],[1603,8]]},"31":{"position":[[248,9]]},"119":{"position":[[453,8]]},"144":{"position":[[195,8]]},"361":{"position":[[287,8],[552,8],[1528,9],[1681,9]]},"370":{"position":[[386,8],[651,8],[2986,9],[3249,9]]}}}],["functional",{"_index":1870,"t":{"137":{"position":[[32,10]]}}}],["functionality",{"_index":310,"t":{"13":{"position":[[89,14]]},"17":{"position":[[14,13]]},"152":{"position":[[283,14]]},"205":{"position":[[144,14]]}}}],["functions",{"_index":912,"t":{"25":{"position":[[1224,9]]}}}],["funny",{"_index":91,"t":{"7":{"position":[[363,5]]}}}],["furthermore",{"_index":205,"t":{"11":{"position":[[482,12]]}}}],["future",{"_index":1647,"t":{"107":{"position":[[935,6]]},"179":{"position":[[309,7]]}}}],["gather",{"_index":1375,"t":{"54":{"position":[[427,6]]}}}],["gaussian",{"_index":656,"t":{"21":{"position":[[2738,8]]}}}],["gave",{"_index":1045,"t":{"31":{"position":[[1058,4]]}}}],["ge",{"_index":1056,"t":{"31":{"position":[[1600,3],[2311,3]]},"33":{"position":[[978,3]]},"41":{"position":[[912,3]]}}}],["geforce",{"_index":1704,"t":{"113":{"position":[[183,7]]}}}],["general",{"_index":133,"t":{"9":{"position":[[415,7]]}}}],["generally",{"_index":2233,"t":{"225":{"position":[[72,9]]}}}],["generated",{"_index":1442,"t":{"67":{"position":[[89,9]]}}}],["generative",{"_index":1387,"t":{"56":{"position":[[58,10]]}}}],["generic",{"_index":1746,"t":{"117":{"position":[[959,7]]},"150":{"position":[[183,7],[613,7]]}}}],["generic_usb",{"_index":1751,"t":{"117":{"position":[[1019,14]]},"150":{"position":[[674,14]]},"152":{"position":[[572,14]]}}}],["german",{"_index":2174,"t":{"198":{"position":[[229,7]]}}}],["get_image",{"_index":1814,"t":{"125":{"position":[[363,12]]}}}],["get_image_query",{"_index":1763,"t":{"119":{"position":[[96,15]]},"170":{"position":[[165,15]]},"179":{"position":[[374,17]]}}}],["get_off_couch.mp3",{"_index":2480,"t":{"357":{"position":[[119,18]]}}}],["get_or_create_detector(name",{"_index":2136,"t":{"190":{"position":[[25,28]]}}}],["get_state(self",{"_index":370,"t":{"13":{"position":[[1250,15]]}}}],["get_token_from_secure_location",{"_index":1420,"t":{"61":{"position":[[408,32]]}}}],["getting",{"_index":411,"t":{"13":{"position":[[3167,7]]}}}],["ggc_user",{"_index":2323,"t":{"281":{"position":[[59,8]]}}}],["gige",{"_index":1960,"t":{"150":{"position":[[304,4]]}}}],["git",{"_index":69,"t":{"3":{"position":[[911,3]]},"5":{"position":[[884,3]]},"275":{"position":[[101,3]]},"285":{"position":[[33,3]]}}}],["github",{"_index":513,"t":{"19":{"position":[[342,6]]},"105":{"position":[[659,7]]},"239":{"position":[[75,6]]},"253":{"position":[[73,6]]},"265":{"position":[[97,6],[272,6]]},"275":{"position":[[20,6]]}}}],["give",{"_index":1024,"t":{"31":{"position":[[103,4],[1213,4]]},"309":{"position":[[104,4]]}}}],["given",{"_index":938,"t":{"27":{"position":[[297,5]]},"31":{"position":[[1284,6]]},"33":{"position":[[637,6]]},"35":{"position":[[83,5],[202,5]]}}}],["gives",{"_index":447,"t":{"15":{"position":[[724,5]]},"31":{"position":[[285,5]]},"378":{"position":[[1976,5]]}}}],["giving",{"_index":110,"t":{"7":{"position":[[659,6]]},"39":{"position":[[2290,6]]}}}],["gl",{"_index":1347,"t":{"52":{"position":[[106,2]]},"58":{"position":[[364,2]]},"61":{"position":[[324,2],[441,2]]},"79":{"position":[[143,2]]},"111":{"position":[[817,2]]},"125":{"position":[[213,2]]},"144":{"position":[[960,2]]},"156":{"position":[[151,2]]},"164":{"position":[[232,2],[736,2]]},"168":{"position":[[199,2]]},"170":{"position":[[259,2]]},"172":{"position":[[442,2]]},"175":{"position":[[245,2]]},"177":{"position":[[36,2]]},"179":{"position":[[726,2]]},"190":{"position":[[346,2]]},"192":{"position":[[258,2],[419,2]]},"194":{"position":[[310,2]]},"361":{"position":[[989,2]]},"370":{"position":[[1393,2]]}}}],["gl.add_label(image_query",{"_index":2113,"t":{"179":{"position":[[1026,25]]}}}],["gl.ask_async(detector=detector",{"_index":1757,"t":{"117":{"position":[[1213,31]]},"121":{"position":[[691,31]]},"170":{"position":[[374,31]]}}}],["gl.ask_confident(detector=detector",{"_index":2084,"t":{"168":{"position":[[279,35]]}}}],["gl.ask_ml(detector=detector",{"_index":2095,"t":{"172":{"position":[[522,28]]}}}],["gl.create_detector(name=\"your_detector_name",{"_index":2140,"t":{"190":{"position":[[376,45]]}}}],["gl.get_detector(id=\"det_abcdef",{"_index":2071,"t":{"164":{"position":[[262,35],[766,35]]},"168":{"position":[[229,35]]},"170":{"position":[[289,35]]},"172":{"position":[[472,35]]}}}],["gl.get_detector(id=\"your_detector_id",{"_index":2147,"t":{"192":{"position":[[288,38]]}}}],["gl.get_detector_by_name(name=\"your_detector_name",{"_index":2149,"t":{"192":{"position":[[449,50]]}}}],["gl.get_image_query(id=\"iq_your_image_query_id",{"_index":2096,"t":{"175":{"position":[[278,47]]}}}],["gl.get_image_query(id=image_query.id",{"_index":1792,"t":{"121":{"position":[[875,37]]},"170":{"position":[[685,37]]}}}],["gl.get_image_query(id=image_query_id",{"_index":1772,"t":{"119":{"position":[[744,37]]}}}],["gl.get_or_create_detector",{"_index":1474,"t":{"79":{"position":[[178,26]]},"84":{"position":[[326,26]]},"125":{"position":[[241,26]]},"144":{"position":[[1151,26]]},"370":{"position":[[1423,26]]}}}],["gl.get_or_create_detector(\"dog",{"_index":2507,"t":{"361":{"position":[[1019,30]]}}}],["gl.get_or_create_detector(name=\"doorway",{"_index":1349,"t":{"52":{"position":[[131,41]]},"58":{"position":[[389,41]]},"179":{"position":[[749,41]]}}}],["gl.get_or_create_detector(name=\"path",{"_index":2003,"t":{"156":{"position":[[176,36]]}}}],["gl.get_or_create_detector(name=\"your_detector_name",{"_index":1754,"t":{"117":{"position":[[1091,52]]},"119":{"position":[[577,52]]},"121":{"position":[[558,52]]}}}],["gl.list_detectors",{"_index":2154,"t":{"194":{"position":[[375,19]]}}}],["gl.list_detectors(page=1",{"_index":2155,"t":{"194":{"position":[[452,25]]}}}],["gl.list_image_queries",{"_index":2098,"t":{"177":{"position":[[105,23]]}}}],["gl.list_image_queries(page=1",{"_index":2101,"t":{"177":{"position":[[190,29]]}}}],["gl.submit_image_query",{"_index":1936,"t":{"144":{"position":[[1390,22]]},"164":{"position":[[816,22]]}}}],["gl.submit_image_query(d",{"_index":1813,"t":{"125":{"position":[[338,24]]}}}],["gl.submit_image_query(det",{"_index":2007,"t":{"156":{"position":[[303,26]]}}}],["gl.submit_image_query(detector",{"_index":2020,"t":{"158":{"position":[[439,31]]},"160":{"position":[[475,31]]}}}],["gl.submit_image_query(detector=d",{"_index":2112,"t":{"179":{"position":[[979,33]]}}}],["gl.submit_image_query(detector=det",{"_index":1357,"t":{"52":{"position":[[296,35]]},"58":{"position":[[554,35]]},"79":{"position":[[376,35]]}}}],["gl.submit_image_query(detector=detector",{"_index":1552,"t":{"84":{"position":[[457,40]]},"164":{"position":[[312,40]]}}}],["gl.submit_image_query(image=image",{"_index":2508,"t":{"361":{"position":[[1126,34]]},"370":{"position":[[1955,34]]}}}],["gl.wait_for_confident_result(id=image_query.id",{"_index":1794,"t":{"121":{"position":[[1081,47]]}}}],["gl_experimental",{"_index":2163,"t":{"196":{"position":[[398,15]]},"198":{"position":[[136,15]]}}}],["gl_experimental.create_counting_detector(name=\"your_detector_name",{"_index":2164,"t":{"196":{"position":[[445,67]]}}}],["gl_experimental.create_multiclass_detector",{"_index":2176,"t":{"198":{"position":[[259,43]]}}}],["go",{"_index":2219,"t":{"221":{"position":[[183,3]]},"225":{"position":[[153,2]]},"259":{"position":[[166,2]]},"299":{"position":[[189,3]]},"327":{"position":[[183,3]]}}}],["goal",{"_index":745,"t":{"23":{"position":[[2095,4],[4598,4]]}}}],["goes",{"_index":1240,"t":{"41":{"position":[[565,4]]}}}],["golden",{"_index":2171,"t":{"198":{"position":[[186,8]]}}}],["gone",{"_index":1610,"t":{"101":{"position":[[796,4]]}}}],["good",{"_index":951,"t":{"27":{"position":[[1047,4],[1649,4]]},"84":{"position":[[634,4],[696,4]]},"221":{"position":[[175,4]]},"299":{"position":[[181,4]]},"327":{"position":[[175,4]]}}}],["gpu",{"_index":1707,"t":{"113":{"position":[[208,4]]}}}],["grab",{"_index":1967,"t":{"150":{"position":[[514,6]]}}}],["grabber",{"_index":1752,"t":{"117":{"position":[[1034,7]]},"150":{"position":[[691,7]]},"152":{"position":[[587,7]]}}}],["grabber.grab",{"_index":1756,"t":{"117":{"position":[[1184,14]]},"150":{"position":[[745,14]]},"152":{"position":[[730,14]]}}}],["grabber.release",{"_index":1761,"t":{"117":{"position":[[1420,17]]}}}],["grabbing",{"_index":1509,"t":{"81":{"position":[[387,8]]},"117":{"position":[[1396,8]]}}}],["gracefully",{"_index":1800,"t":{"123":{"position":[[170,10]]},"137":{"position":[[81,11]]},"139":{"position":[[154,10]]},"201":{"position":[[332,10]]}}}],["grained",{"_index":2074,"t":{"164":{"position":[[413,7]]}}}],["graphs",{"_index":1714,"t":{"113":{"position":[[272,6]]}}}],["gray",{"_index":812,"t":{"23":{"position":[[3600,4],[4033,4],[4210,4]]}}}],["great",{"_index":844,"t":{"23":{"position":[[4430,6]]}}}],["greater",{"_index":998,"t":{"27":{"position":[[3324,8]]},"29":{"position":[[823,7]]},"39":{"position":[[1976,7],[2155,7]]},"47":{"position":[[469,7]]},"49":{"position":[[485,7]]}}}],["greengrass",{"_index":2309,"t":{"275":{"position":[[258,11]]},"281":{"position":[[76,10],[107,10],[175,10],[246,10],[359,10]]}}}],["grime",{"_index":22,"t":{"3":{"position":[[312,6]]},"5":{"position":[[285,6]]},"7":{"position":[[33,5],[806,5]]},"9":{"position":[[4,5],[133,5],[284,5],[464,5],[595,5],[1168,5],[1381,5]]},"11":{"position":[[4,5]]},"13":{"position":[[4,5],[1033,5],[2328,5],[2925,5]]},"15":{"position":[[4,5]]},"19":{"position":[[408,5],[489,5]]}}}],["ground",{"_index":610,"t":{"21":{"position":[[1626,6],[1675,6],[1848,6],[2881,6]]},"43":{"position":[[547,6]]}}}],["groundlight",{"_index":0,"t":{"3":{"position":[[0,11],[39,11],[284,11],[540,11],[850,11]]},"5":{"position":[[12,11],[257,11],[513,11],[823,11]]},"7":{"position":[[84,11],[437,11],[834,11]]},"9":{"position":[[57,11],[219,11],[497,11],[1106,11],[1544,11]]},"11":{"position":[[814,11],[1275,11],[1794,11],[1985,13]]},"13":{"position":[[3576,11]]},"15":{"position":[[1142,12]]},"17":{"position":[[133,12],[189,11],[580,12]]},"19":{"position":[[88,11]]},"21":{"position":[[3,12],[2141,12]]},"29":{"position":[[425,12]]},"43":{"position":[[3,12]]},"52":{"position":[[75,11],[94,11],[111,13]]},"58":{"position":[[12,11],[81,11],[110,11],[333,11],[352,11],[369,13]]},"61":{"position":[[44,11],[229,11],[248,11],[329,13],[369,11],[388,11]]},"71":{"position":[[81,11],[107,11],[159,11],[203,11]]},"73":{"position":[[17,11],[59,11]]},"75":{"position":[[0,11],[79,11],[168,11],[249,11],[290,13],[337,11],[376,11]]},"77":{"position":[[21,11],[64,11]]},"79":{"position":[[9,11],[90,11],[109,12],[148,13],[565,11],[1162,11],[1259,11]]},"81":{"position":[[0,11],[155,12],[374,12],[485,12],[580,11],[657,11],[968,12],[1003,11],[1142,11],[1190,11]]},"84":{"position":[[0,11]]},"89":{"position":[[137,12]]},"99":{"position":[[0,11],[208,11]]},"103":{"position":[[0,11]]},"105":{"position":[[560,11]]},"107":{"position":[[139,11],[290,11],[742,11]]},"109":{"position":[[72,11]]},"111":{"position":[[38,11],[194,11],[372,11],[624,11],[746,11],[786,11],[805,11]]},"115":{"position":[[0,11],[348,12]]},"117":{"position":[[56,11],[341,12],[898,11],[917,11]]},"119":{"position":[[38,11],[535,11],[554,11],[814,11]]},"121":{"position":[[215,11],[516,11],[535,11],[760,11],[957,11],[1024,11],[1164,11]]},"123":{"position":[[36,11]]},"125":{"position":[[54,11],[168,11],[201,11],[218,13]]},"127":{"position":[[22,11]]},"131":{"position":[[149,11]]},"139":{"position":[[330,11]]},"142":{"position":[[338,11],[840,11],[937,11]]},"144":{"position":[[547,11],[891,11],[910,11],[965,13],[1523,11]]},"146":{"position":[[32,12]]},"148":{"position":[[125,12]]},"156":{"position":[[4,11],[98,11],[117,11],[156,13]]},"158":{"position":[[194,11],[498,11]]},"160":{"position":[[4,11],[542,11],[1047,12],[1101,11],[1247,12]]},"162":{"position":[[85,11]]},"164":{"position":[[201,11],[220,11],[237,13],[705,11],[724,11],[741,13]]},"168":{"position":[[38,11],[168,11],[187,11],[204,13]]},"170":{"position":[[228,11],[247,11],[264,13]]},"172":{"position":[[31,11],[72,11],[411,11],[430,11],[447,13]]},"175":{"position":[[214,11],[233,11],[250,13]]},"177":{"position":[[5,11],[24,11],[41,13]]},"179":{"position":[[0,11],[695,11],[714,11],[731,13]]},"181":{"position":[[4,11]]},"187":{"position":[[34,12],[263,11]]},"190":{"position":[[315,11],[334,11],[351,13]]},"192":{"position":[[128,11],[227,11],[246,11],[263,13],[388,11],[407,11],[424,13]]},"194":{"position":[[73,11],[279,11],[298,11],[315,13]]},"196":{"position":[[363,11]]},"198":{"position":[[101,11]]},"201":{"position":[[4,11],[95,11]]},"203":{"position":[[92,11],[236,11],[278,11]]},"205":{"position":[[60,11]]},"209":{"position":[[37,11],[67,11]]},"213":{"position":[[132,11]]},"215":{"position":[[15,11],[98,11],[204,11],[220,11]]},"217":{"position":[[16,11],[135,12],[187,11],[242,11]]},"219":{"position":[[27,11],[119,11],[180,11],[269,11]]},"225":{"position":[[827,12],[853,11]]},"227":{"position":[[36,11]]},"229":{"position":[[37,11],[83,11]]},"233":{"position":[[139,11]]},"235":{"position":[[15,11],[99,11],[175,11]]},"241":{"position":[[36,11]]},"243":{"position":[[37,11],[74,11]]},"247":{"position":[[138,11]]},"249":{"position":[[15,11],[99,11],[175,11]]},"255":{"position":[[36,11]]},"257":{"position":[[0,11]]},"259":{"position":[[68,11]]},"265":{"position":[[206,11]]},"267":{"position":[[85,11]]},"269":{"position":[[75,11]]},"271":{"position":[[135,11]]},"287":{"position":[[37,11],[69,11]]},"291":{"position":[[132,11]]},"293":{"position":[[15,11],[104,11],[210,11],[226,11]]},"295":{"position":[[16,11],[135,12]]},"297":{"position":[[27,11],[119,11],[180,11],[269,11]]},"303":{"position":[[36,11]]},"305":{"position":[[4,11],[125,12],[347,11]]},"307":{"position":[[17,11],[59,11],[122,11]]},"309":{"position":[[22,11]]},"311":{"position":[[323,12],[754,12],[841,11],[1302,11]]},"313":{"position":[[39,12],[184,11]]},"315":{"position":[[37,11],[67,11]]},"319":{"position":[[132,11]]},"321":{"position":[[15,11],[98,11],[204,11],[220,11]]},"323":{"position":[[16,11],[135,12],[187,11],[242,11]]},"325":{"position":[[27,11],[119,11],[180,11],[269,11]]},"331":{"position":[[36,11]]},"343":{"position":[[168,11]]},"355":{"position":[[49,11]]},"357":{"position":[[0,11]]},"359":{"position":[[69,11],[144,11]]},"361":{"position":[[21,11],[233,11],[252,12],[994,13],[1561,11]]},"364":{"position":[[45,11],[1897,11]]},"366":{"position":[[0,11]]},"368":{"position":[[69,11],[144,11]]},"370":{"position":[[21,11],[346,11],[365,11],[1398,13],[3019,11]]},"372":{"position":[[199,11]]},"374":{"position":[[238,11]]},"376":{"position":[[9,11]]},"378":{"position":[[4,11],[142,11],[174,11],[659,11],[1161,11],[1766,11],[2373,12]]}}}],["groundlight's",{"_index":273,"t":{"11":{"position":[[2163,13]]},"21":{"position":[[672,13],[818,13]]},"56":{"position":[[0,13]]},"81":{"position":[[1683,13]]},"105":{"position":[[127,13]]},"107":{"position":[[186,13]]},"154":{"position":[[0,13]]},"267":{"position":[[0,13]]},"333":{"position":[[42,13]]},"335":{"position":[[0,13]]},"341":{"position":[[49,13]]},"345":{"position":[[0,13]]},"347":{"position":[[12,13]]},"349":{"position":[[0,13]]},"351":{"position":[[0,13]]},"353":{"position":[[24,13]]}}}],["groundlight(api_token=token",{"_index":1421,"t":{"61":{"position":[[446,28]]}}}],["groundlight(endpoint=\"http://localhost:30101",{"_index":1680,"t":{"111":{"position":[[822,46]]}}}],["groundlight.ai",{"_index":2297,"t":{"269":{"position":[[111,15]]}}}],["groundlight/stream",{"_index":2254,"t":{"237":{"position":[[85,18]]},"251":{"position":[[84,18]]},"311":{"position":[[161,18],[584,18],[940,18],[1184,18]]},"372":{"position":[[79,18]]},"376":{"position":[[51,18]]},"378":{"position":[[846,18],[1446,18]]},"380":{"position":[[17,18],[195,18],[327,18]]}}}],["groundlight_api_token",{"_index":1402,"t":{"58":{"position":[[181,21]]},"61":{"position":[[281,21]]},"77":{"position":[[143,22],[279,21]]},"125":{"position":[[746,21]]},"311":{"position":[[185,24],[608,24],[964,24],[1208,24]]},"378":{"position":[[870,24],[1470,24]]},"380":{"position":[[219,24],[351,24]]}}}],["groundlight_api_token=\"= delta: return search(mid, high) else: return search(low, mid) return search(low=k/N, high=1.0)","s":"Exact Upper Confidence Bounds based on the Binomial CDF","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#exact-upper-confidence-bounds-based-on-the-binomial-cdf","p":2},{"i":15,"t":"Referring back to our discussion of coin flips makes it clear how to construct lower bounds for true accuracy. We had likened a correct classification to a biased coin landing heads and we upper bounded the probability of heads based on the observed number of heads. But we could have used the same math to upper bound the probability of tails. And likening tails to misclassifications lets us upper bound the true error rate. Moreover, the error rate equals one minus the accuracy. And so we immediately get a lower bound on the accuracy by computing an upper bound on the error rate and subtracting it from one. Again, let δ\\deltaδ be given, NNN be the number of test examples, kkk be the number of correctly classified test examples, and let ppp be the true, but unknown, accuracy. Definition: the 100(1 - δ\\deltaδ)% binomial lower confidence bound for ppp is defined as p‾(N,k,δ)=1−max{ p : FN,p(N−k)≥δ }.\\underline{p}(N, k, \\delta) = 1 - \\max \\{ \\, p \\,:\\, F_{N,p}(N - k) \\ge \\delta \\,\\, \\}.p(N,k,δ)=1−max{p:FN,p(N−k)≥δ}. Here N−kN - kN−k is the number of misclassified examples observed in the test set.","s":"Lower Confidence Bounds","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#lower-confidence-bounds","p":2},{"i":17,"t":"Now that we know how to derive upper and lower bounds which hold individually at a given confidence level, we can use our understanding to derive upper and lower bounds which hold simultaneously at the given confidence level. To do so, we compute what is called a central confidence interval. A 100×\\times×(1 - δ\\deltaδ)% central confidence interval is computed by running the upper and lower bound procedures with the adjusted confidence level of 100×\\times×(1 - δ\\deltaδ/2)%. For example, if we want to compute a 95% central confidence interval, we compute 97.5% lower and upper confidence bounds. This places δ\\deltaδ/2 = 2.5% probability mass in each tail, thereby providing 95% coverage in the central region. Pictorially below, you can see that the 95% central confidence interval (top row) produces wider bounds than just using the 95% lower and upper confidence bounds separately (bottom row). The looser bounds are unfortunate. But naively computing the lower and upper bounds at the original confidence level of 95% sacrifices coverage due to multiple testing. Figure 6: central confidence intervals produce wider bounds to correct for multiple testing In the next section, where we compute central confidence intervals for balanced accuracy, we will have to do even more to correct for multiple testing.","s":"Central Confidence Intervals","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#central-confidence-intervals","p":2},{"i":19,"t":"Recall that the balanced accuracy for a binary classifier is the mean of its accuracy on examples from the positive class and its accuracy on examples from the negative class. To define what we mean by the \"true balanced accuracy\", we need to define appropriate distributions over examples from each class. To do so, we decompose DDD into separate class conditional distributions, D+D^+D+ and D−D^-D−, where Pr{(x,y)∼D+}=Pr{(x,y)∼D∣y=+1},\\Pr\\left\\{ (x,y) \\sim D^+ \\right\\} = \\Pr\\left\\{ (x,y) \\sim D \\mid y = +1 \\right\\},Pr{(x,y)∼D+}=Pr{(x,y)∼D∣y=+1},Pr{(x,y)∼D−}=Pr{(x,y)∼D∣y=−1}.\\Pr\\left\\{ (x,y) \\sim D^- \\right\\} = \\Pr\\left\\{ (x,y) \\sim D \\mid y = -1 \\right\\}.Pr{(x,y)∼D−}=Pr{(x,y)∼D∣y=−1}. The positive and negative true accuracies are defined with respect to each of these class specific distributions: acc+(h)=E(x,y)∼D+ 1[h(xi)=yi],\\text{acc}^+(h) = E_{(x,y) \\sim D^+} \\, \\mathbf{1}[ h(x_i) = y_i ],acc+(h)=E(x,y)∼D+1[h(xi)=yi],acc−(h)=E(x,y)∼D− 1[h(xi)=yi].\\text{acc}^-(h) = E_{(x,y) \\sim D^-} \\, \\mathbf{1}[ h(x_i) = y_i ].acc−(h)=E(x,y)∼D−1[h(xi)=yi]. The true balanced accuracy is then defined as the average of these, accbal(h)=acc+(h)+acc−(h)2.\\text{acc}_\\text{bal}(h) = \\frac{\\text{acc}^+(h) + \\text{acc}^-(h)}{2}.accbal(h)=2acc+(h)+acc−(h).","s":"Confidence Bounds for Balanced Accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#confidence-bounds-for-balanced-accuracy","p":2},{"i":21,"t":"With the above definitions in hand, we can now bound the balanced accuracy of our classifier based on its performance on a test set. Let SSS be the test set, and let N+N^+N+ denote the number of positive examples in SSS N−N^-N− denote the number of negative examples in SSS k+k^+k+ denote the number of positive examples in SSS that hhh correctly classified k−k^-k− denote the number of negative examples in SSS that hhh correctly classified From these quantities, we can find lower and upper bounds for the positive and negative accuracies based on the binomial CDF. Denote these lower and upper bounds on positive and negative accuracy as acc+‾(h), acc+‾(h), acc−‾(h), acc−‾(h). \\underline{\\text{acc}^+}(h) ,~~ \\overline{\\text{acc}^+}(h) ,~~ \\underline{\\text{acc}^-}(h) ,~~ \\overline{\\text{acc}^-}(h).acc+(h), acc+(h), acc−(h), acc−(h). To find a 100(1 - δ\\deltaδ)% confidence interval for the accbal(h)\\text{acc}_\\text{bal}(h)accbal(h), we first compute the quantities acc+‾(h)=p‾(N+,k+,δ/4) and acc+‾(h)=p‾(N+,k+,δ/4)\\underline{\\text{acc}^+}(h) = \\underline{p}(N^+, k^+, \\delta/4) ~~ \\text{ and } ~~ \\overline{\\text{acc}^+}(h) = \\overline{p}(N^+, k^+, \\delta/4)acc+(h)=p(N+,k+,δ/4) and acc+(h)=p(N+,k+,δ/4)acc−‾(h)=p‾(N−,k−,δ/4) and acc−‾(h)=p‾(N−,k−,δ/4)\\underline{\\text{acc}^-}(h) = \\underline{p}(N^-, k^-, \\delta/4) ~~ \\text{ and } ~~ \\overline{\\text{acc}^-}(h) = \\overline{p}(N^-, k^-, \\delta/4)acc−(h)=p(N−,k−,δ/4) and acc−(h)=p(N−,k−,δ/4) Importantly, we've used an adjusted delta value of δ/4\\delta/4δ/4 to account for mulitple testing. That is, if we desire our overall coverage to be (1 - δ\\deltaδ) = 95%, we run our individual bounding procedures with the substituted delta value of δ/4=1.25%\\delta/4 = 1.25\\%δ/4=1.25%. The reason why is as follows. By construction, each of the four bounds will fail to hold with probability δ/4\\delta/4δ/4. The union bound in appendix A tells us that the probability of at least one of these four bounds failing is no greater than the sum of the probabilities that each fails. Summing up the failure probabilities for all four bounds, the probability that at least one bound fails is therefore no greater than 4⋅(δ/4)=δ4\\cdot(\\delta/4) = \\delta4⋅(δ/4)=δ. Thus the probability that none of the bounds fails is at least 1 - δ\\deltaδ, giving us the desired level of coverage. Last, we obtain our exact lower and upper bounds for balanced accuracy by averaging the respective lower and upper bounds for the positive and negative class accuracies: accbal‾(h)=(1/2)(acc+‾(h)+acc−‾(h))\\underline{\\text{acc}_\\text{bal}}(h) = (1/2) \\left( \\underline{\\text{acc}^+}(h) + \\underline{\\text{acc}^-}(h) \\right)accbal(h)=(1/2)(acc+(h)+acc−(h))accbal‾(h)=(1/2)(acc+‾(h)+acc−‾(h))\\overline{\\text{acc}_\\text{bal}}(h) = (1/2) \\left( \\overline{\\text{acc}^+}(h) + \\overline{\\text{acc}^-}(h) \\right)accbal(h)=(1/2)(acc+(h)+acc−(h)) Pictorially below, we can see how the averaged lower and upper bounds contain the true balanced accuracy. Figure 7: the balanced accuracy is bounded by the respective averages of the lower and upper bounds","s":"Constructing the Bound for Balanced Accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#constructing-the-bound-for-balanced-accuracy","p":2},{"i":23,"t":"The main benefit of using bounds derived from the binomial CDF is that they are exact and always contain the true accuracy the desired fraction of the time. Let's compare this with the commonly used bound obtained by approximating the binomial PMF with a normal distribution. The motivation for the normal approximation comes from the central limit theorem, which states that for a binomial distribution with parameters NNN and ppp, the distribution of the empirical accuracy, p^=k/N\\hat{p} = k/Np^=k/N, converges to a normal distribution as the sample size, NNN, goes to infinity, p^⟶dN(p,p(1−p)N).\\hat{p} \\stackrel{d}{\\longrightarrow} \\mathcal{N}\\left(p, \\frac{p(1-p)}{N}\\right).p^⟶dN(p,Np(1−p)). This motivates the use of the traditional two-standard deviation confidence interval in which one reports Pr{∣p−p^∣≤1.96 σ^}≥95% where σ^=p^(1−p^)N.\\Pr\\left\\{ | p - \\hat{p} | \\le 1.96 \\,\\hat{\\sigma} \\right\\} \\ge 95\\% ~ ~ ~ \\text{where} ~ ~ ~ \\hat{\\sigma} = \\sqrt{ \\frac{ \\hat{p}(1-\\hat{p}) }{N} }.Pr{∣p−p^∣≤1.96σ^}≥95% where σ^=Np^(1−p^). But it's well known that the normal distribution poorly approximates the sampling distribution of p^\\hat{p}p^ when ppp is close to zero or one. For instance, if we observe zero errors on the test set, then p^\\hat{p}p^ will equal 1.0 (i.e., 100% empirical accuracy), and the sample standard deviation, σ^\\hat{\\sigma}σ^, will equal zero. The estimated lower bound will therefore be equal to the empirical accuracy of 100%, which is clearly unbelievable. And since we train classifiers to have as close to 100% accuracy as possible, the regime in which ppp is close to one is of major interest. Thus, exact confidence intervals based on the binomial CDF are both more accurate and practically useful than those based on the normal approximation.","s":"Comparison with intervals based on the Normal approximation","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#comparison-with-intervals-based-on-the-normal-approximation","p":2},{"i":25,"t":"At Groundlight, we've put a lot of thought and effort into assessing the performance of our customers' ML models so they can easily understand how their detectors are performing. This includes the use of balanced accuracy as the summary performance metric and exact confidence intervals to convey the precision of the reported metric. Here we've provided a detailed tour of the methods we use to estimate confidence intervals around balanced accuracy. The estimated intervals are exact in that they possess the stated coverage, no matter how many ground truth labeled examples are available for testing. Our aim in this post has been to provide a better understanding of the metrics we display, how to interpret them, and how they're derived. We hope we've succeeded! If you are interested in reading more about these topics, see the references and brief appendices below.","s":"Conclusion","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#conclusion","p":2},{"i":27,"t":"[Langford, 2005] Tutorial on Practical Prediction Theory for Classification. Journal of Machine Learning Research 6 (2005) 273–306. [Brodersen et al., 2010] The balanced accuracy and its posterior distribution. Proceedings of the 20th International Conference on Pattern Recognition, 3121-24.","s":"References","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#references","p":2},{"i":29,"t":"Recall that the union bound states that for a collection of events, A1,A2,…,AnA_1, A_2, \\ldots, A_nA1,A2,…,An, the probability that at least one of them occurs is less than the sum of the probabilities that each of them occurs: Pr{∪i=1nAi}≤∑i=1nPr(Ai).\\Pr\\left\\{ \\cup_{i=1}^n A_i \\right\\} \\le \\sum_{i=1}^n \\Pr(A_i).Pr{∪i=1nAi}≤∑i=1nPr(Ai). Pictorially, the union bound is understood from the image below which shows that area of the union of the regions is no greater than the sum of the regions' areas. Figure 8: Visualizing the union bound. The area of each region AiA_iAi corresponds to the probability that event AiA_iAi occurs. The sum of the total covered area must be less than the sum of the individual areas.","s":"Appendix A - the union bound","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#appendix-a---the-union-bound","p":2},{"i":31,"t":"The semantics around frequentist confidence intervals is subtle and confusing. The construction of a 95% upper confidence bound does NOT imply there is a 95% probability that the true accuracy is less than the bound. It only guarantees that the true accuracy is less than the upper bound in at least 95% of the cases that we run the the upper confidence bounding procedure (assuming we run the procedure many many times). For each individual case, however, the true accuracy is either greater than or less than the bound. And thus, for each case, the probability that the true accuracy is less than the bound equals either 0 or 1, we just don't know which. If you instead desire more conditional semantics, you need to use Bayesian credible intervals. See Brodersen et al., 2010 for a nice derivation of credible intervals for balanced accuracy.","s":"Appendix B - interpretation of confidence intervals","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#appendix-b---interpretation-of-confidence-intervals","p":2},{"i":34,"t":"Groundlight has a Problem Here at the Groundlight office we have a bit of a problem - sometimes we leave dirty dishes in the office sink. They pile up, and as the pile grows it becomes more and more tempting to simply add to the pile instead of cleaning it up. It was clear that the Groundlight office needed a “grime guardian” to save us from our messy selves. One day, I realized that this was the perfect problem to solve using Groundlight’s computer vision SDK. I could focus on developing the complex embedded application logic while Groundlight handled the computer vision. My design provided me with an opportunity to test out a handful of interesting design patterns, including deployment on a Raspberry Pi, multi-camera and multi-detector usage, a microservice-like architecture achieved via multithreading, and complex state handling. The Groundlight office sink, where dishes accumulate faster than git commits.","s":"The Grime Guardian: Building Stateful Multi-camera applications with Groundlight","u":"/python-sdk/blog/grime-guardian","h":"","p":33},{"i":36,"t":"Here at the Groundlight office we have a bit of a problem - sometimes we leave dirty dishes in the office sink. They pile up, and as the pile grows it becomes more and more tempting to simply add to the pile instead of cleaning it up. It was clear that the Groundlight office needed a “grime guardian” to save us from our messy selves. One day, I realized that this was the perfect problem to solve using Groundlight’s computer vision SDK. I could focus on developing the complex embedded application logic while Groundlight handled the computer vision. My design provided me with an opportunity to test out a handful of interesting design patterns, including deployment on a Raspberry Pi, multi-camera and multi-detector usage, a microservice-like architecture achieved via multithreading, and complex state handling. The Groundlight office sink, where dishes accumulate faster than git commits.","s":"Groundlight has a Problem","u":"/python-sdk/blog/grime-guardian","h":"#groundlight-has-a-problem","p":33},{"i":38,"t":"The application I developed, the Grime Guardian, is designed to make it fun for the Groundlight team to clean up dishes that have been abandoned in the sink (source code). Using two cameras, the application monitors the state of the office sink and the overall kitchen scene. If it recognizes that dirty dishes were left in the sink for over a minute, it posts a funny yet inspiring message and photo to a Discord server that alerts the Groundlight team and encourages someone to help. Then, while the dishes remain unattended it surveys the kitchen until it sees someone. Once someone comes to help, it posts a message and photo, celebrating them as a hero, giving everyone in the Discord server a chance to recognize them. While this is cheesy, it has made it a bit more fun for us to do the dishes! The Grime Guardian alerting the Groundlight Team through Discord","s":"Overview of the Application - The Grime Guardian","u":"/python-sdk/blog/grime-guardian","h":"#overview-of-the-application---the-grime-guardian","p":33},{"i":40,"t":"The Grime Guardian demonstrates how to build an advanced Groundlight application in a handful of ways: Raspberry Pi Deployment - The Grime Guardian leverages our custom Raspberry Pi Image, which makes it easy to deploy Groundlight applications on Raspberry Pi. Multiple Cameras - The Grime Guardian actively uses more than one camera to solve a problem (it has one camera pointed at the sink and one pointed at the general kitchen scene). Multiple Detectors - The Grime Guardian combines multiple Groundlight detectors to solve a problem. Microservice-like architecture via Multithreading - The Grime Guardian’s architecture is broken down into a handful of microservice-like processes - each running in a different thread on the same machine. This improves the app’s robustness and allows for more flexibility and scalability. Complex State - As described in the previous section, the state of the world this app is tracking is somewhat complex. In addition to knowing the state of the sink and kitchen, the app tracks how recently the state was updated and how recently it has sent a notification to the Groundlight team. Discord Bot Integration/Notifications - The Grime Guardian uses the Discord Bot API to send notifications to a Discord server. Discord can be an extremely powerful and flexible tool for building applications (e.g. Midjourney). Robustness - In practice, the Grime Guardian has been extremely robust, with only one or two incorrect (false positive) notifications over many weeks of deployment and hundreds of thousands of Groundlight queries.","s":"Architecture of a Sophisticated Groundlight Application","u":"/python-sdk/blog/grime-guardian","h":"#architecture-of-a-sophisticated-groundlight-application","p":33},{"i":42,"t":"The Grime Guardian leverages a microservice-like architecture via multithreading to enhance its performance and robustness. Each microservice within the application runs in its own thread on a single Raspberry Pi, allowing for simultaneous execution of tasks. This architecture is particularly beneficial in this context as it allows the application to monitor the sink and the kitchen scene concurrently using two cameras, and to process the data from these cameras independently. Furthermore, it enables the application to manage complex state tracking and Discord notifications without blocking or slowing down the image processing tasks. The application is broken into six microservices: Sink Image Capturer: This microservice captures images from a camera pointed at the sink and submits them as queries to a Groundlight detector via the ask_async SDK method (this method is useful for times in which the thread submitting image queries is not the same thread that will be retrieving and using the results). I set the detector's query to \"Is there at least one dish in the sink? Cleaning supplies like a sponge, brush, soap, etc. are not considered dishes. If you cannot see into the sink, consider it empty and answer NO\" and set the confidence threshold to 75%. After Groundlight replies with a query ID, the service passes the query ID to the Query Processor service. Kitchen Image Capturer: This microservice is identical to the Sink Image Capturer except it uses the camera that can view the whole kitchen and submits images to a detector with the query \"Is there at least one person in this image?\" and set the confidence threshold to 75% as well. Query Processor: This microservice processes the queries passed to it by the two Capturer services, waiting for confident answers from Groundlight and filtering out queries that do not become confident within a reasonable time (I chose a 10 second timeout as that was how frequently each Capturer service submitted a query to Groundlight). Queries that become confident are passed to the State Updater service. State Updater: This microservice updates a complex model of the application's state based on Groundlight's responses. It tracks the status and last update time of the sink and kitchen, the image query IDs that led to the current state, and the timestamps of the last clean sink and notifications sent. Notification Publisher: This microservice listens for updates to the state of the application (written by the State Updater) and decides whether it is appropriate to send one of two possible notifications. If a notification is needed, it adds it to a queue of notifications to be processed by the Discord Bot. Importantly, the Notification Publisher only determines if a notification should be sent. It does not handle the mechanics of what data to send or how and where to send it. Discord Bot: This microservice runs a Discord bot, which listens for requests from the Notification Publisher. When a request arrives, the bot collects the relevant data and sends notifications to a Discord server. Diagram created by Jared Randall Architecture diagram for the application","s":"Microservice-like Architecture","u":"/python-sdk/blog/grime-guardian","h":"#microservice-like-architecture","p":33},{"i":44,"t":"The Grime Guardian's ability to track and manage a complex state is a cornerstone of its functionality. The application not only needs to know the current state of the sink and kitchen but also when these states were last updated and when the last notifications were sent. In total, the application needs nine separate variables to function properly (a combination of binary-encoded state fields, timestamps, and image query IDs). This level of detail is crucial for avoiding redundant alerts and ensuring timely and accurate updates. As seen in the architecture diagram in the previous section, multiple services read and write to the state simultaneously. To handle this complexity, I implemented a wrapper around the state to handle reads and writes in a thread safe manner. This wrapper ensures the state can be accessed and modified safely across many services. It uses a lock to prevent race conditions, ensuring that only one thread can modify the state at a time. import threading import copy # simplified version of how the Grime Guardian manages state safely class SimpleThreadSafeState: def __init__(self): self.state = False self.lock = threading.Lock() def update_state(self, new_state: bool): with self.lock: self.state = new_state def get_state(self) -> bool: with self.lock: return copy.copy(self.state) The application uses this state to determine when to send notifications. I've tried to break down this logic into a few of flowcharts. At a high level, the logic is pretty simple. Whenever the the application's state is updated, the application performs a check to determine if the new state justifies sending each type of notification. Diagram created by Jared Randall High level flow for determining if a notification should be sent The logic for determining if each notification should be sent is a bit more complex. It first checks for the last time a notification was sent. If the last notification was sent in the last 5 minutes, no notification is sent. This is important as it prevents the application from spamming the Discord server with notifications. Next, the application checks if the sink currently has dirty dishes in it, and how long it has been since the sink was empty. We only send the notification if dirty dishes have been present for more than a minute. This approach ensures that the Grime Guardian does not send a notification every time someone puts a dirty dish in the sink, but only when dishes have been abandoned for a while. This ensures that the app only notifies the team when it is actually needed. Diagram created by Jared Randall Flow for determining if the dirty dishes notification should be sent The logic for determining if someone has arrived to help is similar. We have a check that ensures we do not spam the Discord server. Then, we only send a notification if there are currently dishes in the sink and someone is present in the kitchen. This ensures that the Grime Guardian does not send a notification every time someone walks into the kitchen, but only when dishes are in the sink. Diagram created by Jared Randall Flow for determining if the help arrived notification should be sent In retrospect, getting the notification logic to work properly was one of the more challenging parts of this project. The version I presented here is the result of many iterations and tweaks based on real world usage and results. I think this is because this logic is an expression of the application's core value proposition. If this \"business logic\" is not correct, the application will not be fun or useful. Fortunately, Groundlight enabled me to focus on this logic and not worry about the computer vision.","s":"State Management and Notification Logic","u":"/python-sdk/blog/grime-guardian","h":"#state-management-and-notification-logic","p":33},{"i":46,"t":"The Grime Guardian uses the Discord Bot API to send notifications to a Discord server I set up. At startup, Discord requires some boilerplate to handle authentication. After this is done, the bot listens for new notification requests from the Notification Publisher. Based on the type of request, the bot collects the relevant information (e.g. the image of the dirty sink, or the person doing the dishes) and sends the message. The Discord Bot API makes this incredibly simple, after handling authentication, a new message and an attached image can be sent in a single line. await channel.send(\"message\", file=discord.File(fpath)) While I did not have time to add more complexity to the bot, Discord’s strong documentation gives me confidence it would not be that hard to add more features. For example, it would have been nice if the bot could listen for replies or emote reactions to its notifications - if the bot reported that the sink was full of dishes when really it was not, I could react to the notification with an emote that indicates the correct label for the image, and then the bot could automatically send this information to Groundlight, improving ML performance.","s":"Discord Bot Notifications","u":"/python-sdk/blog/grime-guardian","h":"#discord-bot-notifications","p":33},{"i":48,"t":"Extending the functionality of the application, I can imagine adding motion detection to limit the frequency of image submissions to Groundlight. Currently, the application sends images to Groundlight at a fixed interval (every 10 seconds), regardless of whether there has been any significant change in the scene. This approach, while simple, could be optimized to become more cost effective. As it is now, it can lead to unnecessary image submissions when the scene is static. By incorporating motion detection, the application could intelligently decide when to send images to Groundlight. Fortunately, some of my excellent colleagues have built framegrab, an open source tool that automatically handles this.","s":"Future Improvements and Enhancements","u":"/python-sdk/blog/grime-guardian","h":"#future-improvements-and-enhancements","p":33},{"i":50,"t":"Thank you for taking the time to read my post! As I reflect back, I’m very proud of how Groundlight enabled me to very quickly and effortlessly stand up an ML solution to solve a simple office problem in a fun and engaging way! If you are particularly interested or inspired, I encourage you to check out the source code. Feel free to open a GitHub issue with questions or submit a PR with improvements! The Grime Guardian celebrates Tom, my colleague, for his heroic cleaning effort. The grime is no match for his dish-defeating determination!","s":"Build Your Own Grime Guardian","u":"/python-sdk/blog/grime-guardian","h":"#build-your-own-grime-guardian","p":33},{"i":52,"t":"API tokens authenticate your code to access Groundlight services. They look like api_2GdXMflhJ... and should be treated as sensitive credentials. The SDK can access your token in two ways: Environment Variable (Recommended) from groundlight import Groundlight # Automatically uses GROUNDLIGHT_API_TOKEN environment variable gl = Groundlight() Direct Configuration from groundlight import Groundlight token = get_token_from_secure_location() gl = Groundlight(api_token=token)","s":"Using API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"","p":51},{"i":54,"t":"Store tokens in environment variables or secure vaults Never commit tokens to code repositories Limit token access to necessary personnel Rotate tokens periodically Revoke unused tokens promptly","s":"Security Best Practices","u":"/python-sdk/docs/getting-started/api-tokens","h":"#security-best-practices","p":51},{"i":56,"t":"Access token management at dashboard.groundlight.ai/reef/my-account/api-tokens","s":"Managing Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#managing-tokens","p":51},{"i":58,"t":"Navigate to the API tokens page Enter a token name and click \"Create API Token\" Save the generated token securely - it won't be shown again!","s":"Create a Token","u":"/python-sdk/docs/getting-started/api-tokens","h":"#create-a-token","p":51},{"i":60,"t":"Find the token in your dashboard by name Click \"Delete\" Confirm revocation Important: Update your applications with a new token before revoking an old one to prevent service interruption.","s":"Revoke a Token","u":"/python-sdk/docs/getting-started/api-tokens","h":"#revoke-a-token","p":51},{"i":63,"t":"Build a working computer vision system in just a few lines of python: from groundlight import Groundlight gl = Groundlight() det = gl.get_or_create_detector(name=\"doorway\", query=\"Is the doorway open?\") img = \"./docs/static/img/doorway.jpg\" # Image can be a file or a Python object image_query = gl.submit_image_query(detector=det, image=img) print(f\"The answer is {image_query.result}\")","s":"Computer Vision powered by Natural Language","u":"/python-sdk/docs/getting-started","h":"#computer-vision-powered-by-natural-language","p":61},{"i":65,"t":"Your images are first analyzed by machine learning (ML) models which are automatically trained on your data. If those models have high enough confidence, that's your answer. But if the models are unsure, then the images are progressively escalated to more resource-intensive analysis methods up to real-time human review. So what you get is a computer vision system that starts working right away without even needing to first gather and label a dataset. At first it will operate with high latency, because people need to review the image queries. But over time, the ML systems will learn and improve so queries come back faster with higher confidence.","s":"How does it work?","u":"/python-sdk/docs/getting-started","h":"#how-does-it-work","p":61},{"i":67,"t":"Groundlight's Escalation Technology combines the power of generative AI using our Visual LLM, along with the speed of edge computing, and the reliability of real-time human oversight.","s":"Escalation Technology","u":"/python-sdk/docs/getting-started","h":"#escalation-technology","p":61},{"i":69,"t":"Install the groundlight SDK. Requires python version 3.9 or higher. pip3 install groundlight Head over to the Groundlight dashboard to create an API token. You will need to set the GROUNDLIGHT_API_TOKEN environment variable to access the API. export GROUNDLIGHT_API_TOKEN=api_2GdXMflhJi6L_example Create a python script. ask.py from groundlight import Groundlight gl = Groundlight() det = gl.get_or_create_detector(name=\"doorway\", query=\"Is the doorway open?\") img = \"./docs/static/img/doorway.jpg\" # Image can be a file or a Python object image_query = gl.submit_image_query(detector=det, image=img) print(f\"The answer is {image_query.result}\") Run it! python ask.py","s":"Building a simple visual application","u":"/python-sdk/docs/getting-started","h":"#building-a-simple-visual-application","p":61},{"i":72,"t":"Groundlight allows you to ask a variety of questions about images. The most common type of question is a binary question that can be answered with a simple \"YES\" or \"NO\". For example, \"Is there a car in the leftmost parking space?\" or \"Is the door open?\". Ambiguity in the question can lead to \"UNCLEAR\" responses. detector = gl.get_or_create_detector( name=\"Conveyor belt boxes\", query=\"Are there any cardboard boxes on the conveyor belt?\" ) image_query = gl.submit_image_query(detector=detector, image=some_image) # The SDK can return \"YES\" or \"NO\" (or \"UNCLEAR\") print(f\"The answer is {image_query.result.label}\") So, what makes a good question for a binary-mode detector? Let's look at a few good ✅, moderate 🟡, and bad ❌ examples!","s":"Introduction","u":"/python-sdk/docs/getting-started/writing-queries","h":"#introduction","p":70},{"i":75,"t":"This question is binary and can be answered unambiguously with a simple \"YES\" or \"NO\" based on the image content.","s":"✅ Are there any cardboard boxes on the conveyor belt?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-are-there-any-cardboard-boxes-on-the-conveyor-belt","p":70},{"i":77,"t":"This question is okay, but it could be rephrased to be more specific. For example, \"Is the black trash can more than 80% full?\" tip With Groundlight, your questions may be routed to a machine learning model or a human reviewer. One way to improve your questions is to think, \"If I saw this question for the first time, would I know precisely what the person was trying to convey?\"","s":"🟡 Is the trash can full?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-trash-can-full","p":70},{"i":79,"t":"The query is very specific about what \"YES\" means. According to this query, any slight / partial opening would be considered \"NO\".","s":"✅ Is the garage door completely closed?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-garage-door-completely-closed","p":70},{"i":81,"t":"This question is somewhat ambiguous. Different people may have different opinions on what is nice weather. Instead, you might ask \"Can you see any clouds in the sky?\"","s":"🟡 Is the weather nice out?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-weather-nice-out","p":70},{"i":83,"t":"This is not a binary question — \"YES\" and \"NO\" don't make sense in this context. Also, it's not clear what the \"thing\" refers to.","s":"❌ Where is the thing?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-where-is-the-thing","p":70},{"i":85,"t":"While this question is binary, \"cleanliness\" can be somewhat subjective. An improved version could be: \"Are there any visible spills or clutter on the factory floor?\"","s":"🟡 Is the factory floor clean and organized?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-factory-floor-clean-and-organized","p":70},{"i":87,"t":"In this guide, you will set up your development environment to interact with the Groundlight API using the Groundlight SDK. You will learn how to: Install the Groundlight SDK Set your API token Call the Groundlight API","s":"Initial setup","u":"/python-sdk/docs/getting-started/initial-setup","h":"","p":86},{"i":89,"t":"You will need: A Groundlight account An API token from the Groundlight dashboard Python 3.9+","s":"Prerequisites","u":"/python-sdk/docs/getting-started/initial-setup","h":"#prerequisites","p":86},{"i":91,"t":"Groundlight provides a Python (3.9+) SDK that you can use to interact with the Groundlight API. In your project directory, create a virtual environment. python -m venv groundlight-env Activate the virtual environment using On macOS or Linux, source groundlight-env/bin/activate On Windows, .\\groundlight-env\\Scripts\\activate Install the Groundlight SDK using pip: pip install groundlight For more detailed installation instructions, see the installation guide.","s":"Install the Groundlight SDK","u":"/python-sdk/docs/getting-started/initial-setup","h":"#install-the-groundlight-sdk","p":86},{"i":93,"t":"Every request to the Groundlight API requires an API token. The Groundlight SDK is designed to pull the API token from an environment variable GROUNDLIGHT_API_TOKEN. Set the API token in your terminal: # MacOS / Linux export GROUNDLIGHT_API_TOKEN='your-api-token' # Windows setx GROUNDLIGHT_API_TOKEN \"your-api-token\"","s":"Set your API token","u":"/python-sdk/docs/getting-started/initial-setup","h":"#set-your-api-token","p":86},{"i":95,"t":"Call the Groundlight API by creating a Detector and submitting an ImageQuery. ask.py from groundlight import Groundlight, Detector, ImageQuery gl = Groundlight() det: Detector = gl.get_or_create_detector( name=\"parking-space\", query=\"Is there a car in the leftmost parking space?\" ) img = \"./docs/static/img/doorway.jpg\" # Image can be a file or a Python object image_query = gl.submit_image_query(detector=det, image=img) print(f\"The answer is {image_query.result.label}\") print(image_query) Run the code using python3 ask.py. The code will submit an image to the Groundlight API and print the result: The answer is NO ImageQuery( id='iq_2pL5wwlefaOnFNQx1X6awTOd119', query=\"Is there a car in the leftmost parking space?\", detector_id='det_2owcsT7XCsfFlu7diAKgPKR4BXY', result=BinaryClassificationResult( confidence=0.9995857543478209, label= ), created_at=datetime.datetime(2024, 11, 25, 11, 5, 57, 38627, tzinfo=tzutc()), patience_time=30.0, confidence_threshold=0.9, type=, result_type=, metadata=None ) For more information on the Groundlight SDK, see the API Reference, or check out our guide to building applications with the Groundlight SDK.","s":"Call the Groundlight API","u":"/python-sdk/docs/getting-started/initial-setup","h":"#call-the-groundlight-api","p":86},{"i":97,"t":"Groundlight provides a powerful \"computer vision powered by natural language\" system that enables you to build visual applications with minimal code. With Groundlight, you can quickly create applications for various use cases, from simple object detection to complex visual analysis. On the following pages, we'll guide you through the process of building applications with Groundlight. Grabbing images: Understand the intricacies of how to submit images from various input sources to Groundlight. Working with detectors: Learn how to create, configure, and use detectors in your Groundlight-powered applications. Submitting image queries: Submit images to Groundlight for analysis and retrieve the results. Confidence levels: Master how to control the trade-off of latency against accuracy by configuring the desired confidence level for your detectors. Handling errors: Understand how to handle and troubleshoot HTTP errors (ApiException) that may occur while using Groundlight. Asynchronous queries: Groundlight makes it easy to submit asynchronous queries. Learn how to submit queries asynchronously and retrieve the results later. Using Groundlight on the edge: Discover how to deploy Groundlight in edge computing environments for improved performance and reduced latency. Alerts: Learn how to set up alerts to notify you via text (SMS) or email when specific conditions are met in your visual applications. Industrial applications: Learn how to apply modern natural-language-based computer vision to your industrial and manufacturing applications. By exploring these resources and sample applications, you'll be well on your way to building powerful visual applications using Groundlight's computer vision and natural language capabilities.","s":"Guide","u":"/python-sdk/docs/guide","h":"","p":96},{"i":99,"t":"Groundlight supports triggering alerts based on the results of image queries. Alerts can be configured to notify you when a specific condition is met. To configure an alert, navigate to the Alerts tab on the Groundlight dashboard. Here, you can create a new alert by clicking the Create New Alert button.","s":"Configuring Alerts","u":"/python-sdk/docs/guide/alerts","h":"","p":98},{"i":101,"t":"When creating a new alert, you can configure alerts for the following conditions: A specific answer is returned N times in a row. The answer changes from one value to another. There are no changes in the answer for a specified period of time. There are no queries submitted for a specified period of time. A snooze period can be configured to prevent the alert from triggering multiple times in quick succession. Optionally, you can configure the alert to include the triggering image in the alert message. tip Consider configuring a \"no queries submitted\" alert to monitor system health. If your application is expected to submit queries regularly (e.g., monitoring a camera feed), setting an alert for when no queries are received for a few minutes can help quickly identify if your system has gone offline or is experiencing connectivity issues.","s":"Alert Configuration","u":"/python-sdk/docs/guide/alerts","h":"#alert-configuration","p":98},{"i":103,"t":"Groundlight supports the following alerts via Email and Text Message (SMS), with webhook support coming soon.","s":"Alert Mediums","u":"/python-sdk/docs/guide/alerts","h":"#alert-mediums","p":98},{"i":105,"t":"Groundlight provides a simple interface for submitting asynchronous queries. This is useful for situations in which the thread or process or machine submitting image queries is not the same thread or machine that will be retrieving and using the results. For example, you might have a forward deployed robot or camera that submits image queries to Groundlight, and a separate server that retrieves the results and takes action based on them. We will refer to these two machines as the submitting machine and the retrieving machine.","s":"Using Asynchronous Queries","u":"/python-sdk/docs/guide/async-queries","h":"","p":104},{"i":107,"t":"On the submitting machine, you will need to install the Groundlight Python SDK. Then you can submit image queries asynchronously using the ask_async interface (read the full documentation here). ask_async submits your query and immediately returns, without waiting for an answer. This minimizes the time your program spends interacting with Groundlight. Consequently, the ImageQuery object returned by ask_async does not contain a result (the result field will be None). This is suitable for scenarios where the submitting machine does not need the result. Instead, the submitting machine only needs to share the ImageQuery.id with the retrieving machine. This can be done through a database, message queue, or another method. In this example, we assume you are using a database to save the ImageQuery.id with db.save(image_query.id). from time import sleep from framegrab import FrameGrabber from groundlight import Groundlight # Create a FrameGrabber for a generic USB camera (e.g., a webcam) config = {'input_type': 'generic_usb'} grabber = FrameGrabber.create_grabber(config) detector = gl.get_or_create_detector(name=\"your_detector_name\", query=\"your_query\") while True: image = grabber.grab() image_query = gl.ask_async(detector=detector, image=image) db.save(image_query.id) # Save the image_query.id to a database for the retrieving machine to use sleep(10) # Sleep for 10 seconds before grabbing the next image grabber.release()","s":"Setup Submitting Machine","u":"/python-sdk/docs/guide/async-queries","h":"#setup-submitting-machine","p":104},{"i":109,"t":"On the retrieving machine, ensure the Groundlight Python SDK is installed. You can then use the get_image_query method to fetch results of image queries submitted by the submitting machine. The retrieving machine can utilize the ImageQuery.result to perform actions based on the application's requirements. In this example, we assume your application retrieves the next image query ID to process from a database using db.get_next_image_query_id(). This function should return None when all ImageQuery entries have been processed. from groundlight import Groundlight detector = gl.get_or_create_detector(name=\"your_detector_name\", query=\"your_query\") image_query_id = db.get_next_image_query_id() while image_query_id is not None: image_query = gl.get_image_query(id=image_query_id) # retrieve the image query from Groundlight result = image_query.result # take action based on the result of the image query if result.label == 'YES': pass # TODO: do something based on your application elif result.label == 'NO': pass # TODO: do something based on your application elif result.label == 'UNCLEAR': pass # TODO: do something based on your application # update image_query_id for next iteration of the loop image_query_id = db.get_next_image_query_id()","s":"Setup Retrieving Machine","u":"/python-sdk/docs/guide/async-queries","h":"#setup-retrieving-machine","p":104},{"i":111,"t":"When you submit an image query asynchronously, ML prediction on your query is not instant. So attempting to retrieve the result immediately after submitting an async query will likely result in an UNCLEAR result as Groundlight is still processing your query. Instead, if your code needs a result synchronously we recommend using one of our methods with a polling mechanism to retrieve the result (e.g. ask_confident). You can see all of the interfaces available in the documentation here. from PIL import Image from groundlight import Groundlight detector = gl.get_or_create_detector(name=\"your_detector_name\", query=\"your_query\") image = Image.open(\"/path/to/your/image.jpg\") image_query = gl.ask_async(detector=detector, image=image) # Submit async query to Groundlight assert image_query.result is None # IQs returned from `ask_async` will not have a result image_query = gl.get_image_query(id=image_query.id) # Immediately retrieve the image query from Groundlight result = image_query.result # This may be 'UNCLEAR' as Groundlight continues to process the query image_query = gl.wait_for_confident_result(id=image_query.id) # Poll for a confident result from Groundlight result = image_query.result","s":"Important Considerations","u":"/python-sdk/docs/guide/async-queries","h":"#important-considerations","p":104},{"i":113,"t":"If your account includes access to edge models, you can download and install them on your edge devices. This allows you to run Groundlight's ML models locally on your edge devices, reducing latency and increasing throughput. Additionally, inference requests handled on the edge are not counted towards your account's usage limits. This is achieved through a proxy service called the edge-endpoint, a lightweight, open-source service that runs on your edge devices. The edge-endpoint is responsible for downloading and running models and communicating with the Groundlight cloud service. You can find the source code and documentation for the edge-endpoint on GitHub.","s":"Processing Images on the Edge","u":"/python-sdk/docs/guide/edge","h":"","p":112},{"i":115,"t":"The edge-endpoint is a proxy service that runs on your edge devices. It intercepts requests and responses between your application and the Groundlight cloud service, enabling you to run Groundlight's ML models locally on your edge devices. When your application sends an image query to the Groundlight cloud service, the edge-endpoint intercepts the request and downloads the relevant edge-sized model from the cloud. It then runs the model locally on the edge device and returns the result to your application. By default, it will return answers without escalating to the cloud if the edge model answers above the specified confidence threshold. Otherwise, it will escalate to the cloud for a more confident answer. This process also allows Groundlight to learn from examples that are challenging for the edge model. Once a new edge model is trained to handle such examples, it will automatically be downloaded to the edge device for future queries. The edge-endpoint operates as a set of containers on an \"edge device,\" which can be an NVIDIA Jetson device, a rack-mounted server, or even a Raspberry Pi. The main container is the edge-endpoint proxy service, which handles requests and manages other containers, such as the inferencemodel containers responsible for loading and running the ML models.","s":"How the Edge Endpoint Works","u":"/python-sdk/docs/guide/edge","h":"#how-the-edge-endpoint-works","p":112},{"i":117,"t":"To set up an edge-endpoint manually, please refer to the deploy README. Groundlight also provides managed edge-endpoint servers. Management is performed via Balena. To received a managed edge-endpoint, please contact us.","s":"Installing and Running the Edge Endpoint","u":"/python-sdk/docs/guide/edge","h":"#installing-and-running-the-edge-endpoint","p":112},{"i":119,"t":"To utilize the edge-endpoint, set the Groundlight SDK to use the edge-endpoint's URL instead of the cloud endpoint. Your application logic can remain unchanged and will work seamlessly with the Groundlight edge-endpoint. This setup allows some ML responses to be returned much faster, locally. Note that image queries processed at the edge-endpoint will not appear on the Groundlight cloud dashboard unless specifically configured. In such cases, the edge prediction will not be reflected in the cloud image query. Additional documentation and configuration options are available in the edge-endpoint repository. To set the Groundlight Python SDK to submit requests to your edge-endpoint proxy server, you can either pass the endpoint URL to the Groundlight constructor like this: from groundlight import Groundlight gl = Groundlight(endpoint=\"http://localhost:30101\") or set the GROUNDLIGHT_ENDPOINT environment variable like: export GROUNDLIGHT_ENDPOINT=http://localhost:30101 python your_app.py tip In the above example, the edge-endpoint is running on the same machine as the application, so the endpoint URL is http://localhost:30101. If the edge-endpoint is running on a different machine, you should replace localhost with the IP address or hostname of the machine running the edge-endpoint.","s":"Using the Edge Endpoint","u":"/python-sdk/docs/guide/edge","h":"#using-the-edge-endpoint","p":112},{"i":121,"t":"We have benchmarked the edge-endpoint handling 500 requests/sec at a latency of less than 50ms on an off-the-shelf Katana 15 B13VGK-1007US laptop (Intel® Core™ i9-13900H CPU, NVIDIA® GeForce RTX™ 4070 Laptop GPU, 32GB DDR5 5200MHz RAM) running Ubuntu 20.04. The following graphs show the throughput and latency of the edge-endpoint running on the Katana 15 laptop. As time progresses along the x-axis, the benchmark script ramps up the number of requests per second from 1 to 500 (and the number of clients submitting requests from 1 to 60). The y-axes shows the throughput in requests per second and the latency in seconds. The edge-endpoint is designed to be lightweight and efficient, and can be run on a variety of edge devices, including NVIDIA Jetson devices, Raspberry Pi, and other ARM- and x86-based devices.","s":"Edge Endpoint performance","u":"/python-sdk/docs/guide/edge","h":"#edge-endpoint-performance","p":112},{"i":123,"t":"In order to analyze images with Groundlight, you first need to capture images from a camera or other image source. This guide will show you how to capture images from different sources and formats.","s":"Grabbing Images","u":"/python-sdk/docs/guide/grabbing-images","h":"","p":122},{"i":125,"t":"For a unified interface to many different kinds of image sources, see framegrab, an open-source python library maintained by Groundlight.","s":"Framegrab","u":"/python-sdk/docs/guide/grabbing-images","h":"#framegrab","p":122},{"i":127,"t":"Framegrab has many useful features for working with cameras and other image sources. It provides a single interface for extracting images from many different image sources, including generic USB cameras (such as webcams), RTSP streams, HTTP live streams, YouTube live streams, Basler USB cameras, Basler GigE cameras, and Intel RealSense depth cameras. Installation is straightforward: pip install framegrab[all] To capture frames, first configure a FrameGrabber object, specifying the image source. Then call the grab() method to capture a frame: from framegrab import FrameGrabber # Create a FrameGrabber for a generic USB camera (e.g., a webcam) config = { 'input_type': 'generic_usb', } grabber = FrameGrabber.create_grabber(config) frame = grabber.grab() Framegrab returns images as numpy arrays in BGR format, which is the standard format for OpenCV. This makes it easy to use the images with other image processing libraries, such as OpenCV. See the framegrab documentation for more information on configuring different image sources.","s":"Capturing Images","u":"/python-sdk/docs/guide/grabbing-images","h":"#capturing-images","p":122},{"i":129,"t":"Framegrab also includes a motion detection module, which can be used to detect motion in a video stream. This can be useful for detecting when something changes in a scene, such as when a person enters a room or a car pulls into a parking space. To use the built-in motion detection functionality, first create a MotionDetector object, specifying the percentage threshold for motion detection. Then, use the motion_detected() method with every captured frame to check if motion has been detected: from framegrab import FrameGrabber, MotionDetector config = {'input_type': 'generic_usb'} grabber = FrameGrabber.create_grabber(config) motion_threshold = 1.0 mdet = MotionDetector(pct_threshold=motion_threshold) while True: frame = grabber.grab() if frame is None: print(\"No frame captured!\") continue if mdet.motion_detected(frame): print(\"Motion detected!\") In this example, motion_threshold specifies the sensitivity level for detecting motion based on the percentage of pixels that have changed. By default, this is set to 1.0, indicating a 1% change. To increase the sensitivity, set the threshold to a lower value, such as 0.5%. Likewise, to decrease the sensitivity, set the threshold to a higher value, such as 2%.","s":"Motion Detection","u":"/python-sdk/docs/guide/grabbing-images","h":"#motion-detection","p":122},{"i":131,"t":"Groundlight's SDK accepts images in many popular formats, including PIL, OpenCV, and numpy arrays.","s":"Image Formats","u":"/python-sdk/docs/guide/grabbing-images","h":"#image-formats","p":122},{"i":133,"t":"The Groundlight SDK can accept PIL images directly in submit_image_query. Here's an example: from groundlight import Groundlight from PIL import Image gl = Groundlight() det = gl.get_or_create_detector(name=\"path-clear\", query=\"Is the path clear?\") pil_img = Image.open(\"./docs/static/img/doorway.jpg\") gl.submit_image_query(det, pil_img)","s":"PIL","u":"/python-sdk/docs/guide/grabbing-images","h":"#pil","p":122},{"i":135,"t":"OpenCV is a popular image processing library, with many utilities for working with images. OpenCV images are stored as numpy arrays. (Note they are stored in BGR order, not RGB order, but as of Groundlight SDK v0.8 this is the expected order.) OpenCV's images can be send directly to submit_image_query as follows: import cv2 cam = cv2.VideoCapture(0) # Initialize camera (0 is the default index) _, frame = cam.read() # Capture one frame gl.submit_image_query(detector, frame) # Send the frame to Groundlight cam.release() # Release the camera","s":"OpenCV","u":"/python-sdk/docs/guide/grabbing-images","h":"#opencv","p":122},{"i":137,"t":"The Groundlight SDK can accept images as numpy arrays. They should be in the standard HWN format in BGR color order, matching OpenCV standards. Pixel values should be from 0-255 (not 0.0-1.0 as floats). So uint8 data type is preferable since it saves memory. Here's sample code to create an 800x600 random image in numpy: import numpy as np np_img = np.random.uniform(low=0, high=255, size=(600, 800, 3)).astype(np.uint8) # Note: channel order is interpretted as BGR not RGB gl.submit_image_query(detector, np_img) Channel order: BGR vs RGB Groundlight expects images in BGR order, because this is standard for OpenCV, which uses numpy arrays as image storage. (OpenCV uses BGR because it was originally developed decades ago for compatibility with the BGR color format used by many cameras and image processing hardware at the time of its creation.) Most other image libraries use RGB order, so if you are using images as numpy arrays which did not originate from OpenCV you likely need to reverse the channel order before sending the images to Groundlight. Note this change was made in v0.8 of the Groundlight SDK - in previous versions, RGB order was expected. If you have an RGB array, you must reverse the channel order before sending it to Groundlight, like: # Convert numpy image in RGB channel order to BGR order bgr_img = rgb_img[:, :, ::-1] The difference can be surprisingly subtle when red and blue get swapped. Often images just look a little off, but sometimes they look very wrong. Here's an example of a natural-scene image where you might think the color balance is just off: In industrial settings, the difference can be almost impossible to detect without prior knowledge of the scene:","s":"Numpy","u":"/python-sdk/docs/guide/grabbing-images","h":"#numpy","p":122},{"i":139,"t":"When building applications with the Groundlight SDK, you may encounter errors during API calls. This page covers how to handle such errors and build robust code that can gracefully handle exceptions.","s":"Handling Errors","u":"/python-sdk/docs/guide/handling-errors","h":"","p":138},{"i":141,"t":"In the event of an HTTP error during an API call, the Groundlight SDK raises an ApiException. This exception provides access to various metadata: import traceback from groundlight import ApiException, Groundlight gl = Groundlight() try: d = gl.get_or_create_detector( name=\"Road Checker\", query=\"Is the site access road blocked?\", ) iq = gl.submit_image_query(d, get_image(), wait=60) except ApiException as e: # Print a traceback for debugging traceback.print_exc() # e.reason contains a textual description of the error print(f\"Error reason: {e.reason}\") # e.status contains the HTTP status code print(f\"HTTP status code: {e.status}\") # Common HTTP status codes: # 400 Bad Request: The request was invalid or malformed # 401 Unauthorized: Your GROUNDLIGHT_API_TOKEN is missing or invalid # 403 Forbidden: The request is not allowed due to insufficient permissions # 404 Not Found: The requested resource was not found # 429 Too Many Requests: The rate limit for the API has been exceeded # 500 Internal Server Error: An error occurred on the server side","s":"Handling ApiException","u":"/python-sdk/docs/guide/handling-errors","h":"#handling-apiexception","p":138},{"i":143,"t":"When working with the Groundlight SDK, follow these best practices to handle exceptions and build robust code:","s":"Best Practices for Handling Exceptions","u":"/python-sdk/docs/guide/handling-errors","h":"#best-practices-for-handling-exceptions","p":138},{"i":145,"t":"Catch only the specific exceptions that you expect to be raised, such as ApiException. Avoid catching broad exceptions like Exception, as it may make debugging difficult and obscure other unrelated issues.","s":"Catch Specific Exceptions","u":"/python-sdk/docs/guide/handling-errors","h":"#catch-specific-exceptions","p":138},{"i":147,"t":"Consider creating custom exception classes for your application-specific errors. This can help you differentiate between errors originating from the Groundlight SDK and those from your application.","s":"Use Custom Exception Classes","u":"/python-sdk/docs/guide/handling-errors","h":"#use-custom-exception-classes","p":138},{"i":149,"t":"Log exceptions using appropriate log levels (e.g., error, warning) and include relevant context. This practice aids in effective debugging and monitoring application health.","s":"Log Exceptions","u":"/python-sdk/docs/guide/handling-errors","h":"#log-exceptions","p":138},{"i":151,"t":"Incorporate retry logic with exponential backoff for transient errors, such as network issues or rate limits. This strategy allows your application to recover from temporary problems automatically.","s":"Implement Retry Logic","u":"/python-sdk/docs/guide/handling-errors","h":"#implement-retry-logic","p":138},{"i":153,"t":"Ensure your application remains functional despite errors by handling exceptions gracefully. This might involve displaying user-friendly error messages or reverting to default behaviors.","s":"Handle Exceptions Gracefully","u":"/python-sdk/docs/guide/handling-errors","h":"#handle-exceptions-gracefully","p":138},{"i":155,"t":"Write tests to ensure that your error handling works as expected. This can help you catch issues early and ensure that your application can handle errors gracefully in production. By following these best practices, you can create robust and resilient applications that can handle server errors and other exceptions when using the Groundlight SDK.","s":"Test Your Error Handling","u":"/python-sdk/docs/guide/handling-errors","h":"#test-your-error-handling","p":138},{"i":158,"t":"When creating a Detector or submitting an ImageQuery, you can set the necessary confidence level for your use case. We call this the confidence_threshold. Tuning this value allows you to balance the trade-offs between accuracy and latency / cost. Confidence scores represent the model's internal assessment of its prediction reliability. Groundlight models provide calibrated confidence scores, which means that, when a model makes a prediction with a confidence of 0.95, we expect that (under typical conditions) 95% of the time that prediction will be correct. In other words, a prediction with a confidence of 0.95 is expected to be correct 19 out of 20 times. Confidence calibration kicks in after a sufficient number of labeled images have been collected. Confidence thresholds represent a minimum confidence that must be achieved for Groundlight to return an answer. If a confidence above the confidence threshold is not achieved, Groundlight will escalate your query up our heirarchy to stronger models and human reviewers. Confidence thresholds should be determined based on your application's acceptable error rate and the potential impact of those errors. Higher confidence thresholds result in predictions that are more accurate but may take longer to process (because they are escalated to more complex/expensive models or human review). Lower confidence thresholds result in faster responses but may be less accurate. Over time, and as more human-provided labels are collected, the ML models will improve, and our fastest models will be able to provide higher confidence predictions more quickly.","s":"Introduction to Confidence Thresholds","u":"/python-sdk/docs/guide/managing-confidence","h":"#introduction-to-confidence-thresholds","p":156},{"i":160,"t":"In some cases, challenging queries that require human review can take a number of seconds, so we provide both client-side and server-side timeouts to ensure that your application can continue to function even if the query takes longer than expected. Set a client-side timeout by configuring the wait parameter in the submit_image_query method. This simply stops the client from waiting for a response after a certain amount of time. Set a server-side timeout by configuring the patience_time parameter in the submit_image_query method. This tells Groundlight to deprioritize the query after a certain amount of time, which can be useful if the result of a query becomes less relevant over time. For example, if you are monitoring a live video feed, you may want to deprioritize queries that are more than a few seconds old so that our human reviewers can focus on the most recent data. from groundlight import Groundlight from PIL import Image import requests gl = Groundlight() image_url = \"https://www.photos-public-domain.com/wp-content/uploads/2010/11/over_flowing_garbage_can.jpg\" image = Image.open(requests.get(image_url, stream=True).raw) d = gl.get_or_create_detector( name=\"trash\", query=\"Is the trash can full?\", confidence_threshold=0.95, # Set the confidence threshold to 0.95 ) # This will wait until either 60 seconds have passed or the confidence reaches 0.95 image_query = gl.submit_image_query( detector=d, image=image, wait=10, # tell the client to stop waiting after 10 seconds patience_time=20, # tell Groundlight to deprioritize the query after 20 seconds ) print(f\"The answer is {image_query.result.label}\") print(f\"The confidence is {image_query.result.confidence}\") tip Tuning the confidence_threshold allows you to balance accuracy with response time. Higher confidence thresholds result in more accurate predictions but can increase latency. Achieving these higher confidence levels often requires more labels, which can increase labor costs. As our models improve over time, they will become more confident, enabling you to receive higher-confidence answers more quickly and at a lower cost.","s":"Configuring Timeouts","u":"/python-sdk/docs/guide/managing-confidence","h":"#configuring-timeouts","p":156},{"i":162,"t":"The Groundlight Python SDK requires Python 3.9 or higher and can be installed on all major platforms. Follow the installation guide for your specific operating system or device below.","s":"Installation Guide for Groundlight Python SDK","u":"/python-sdk/docs/installation","h":"","p":161},{"i":164,"t":"For desktop and server installations: Linux Installation Guide - For Ubuntu, Debian, Fedora and other Linux distributions macOS Installation Guide - For Intel and Apple Silicon Macs Windows Installation Guide - For Windows 10 and 11","s":"Operating System Installation Guides","u":"/python-sdk/docs/installation","h":"#operating-system-installation-guides","p":161},{"i":166,"t":"For IoT and edge computing devices: Raspberry Pi Installation Guide - For Raspberry Pi 4 and 5 devices NVIDIA Jetson Installation Guide - For Jetson Nano, Xavier and Orin devices","s":"Edge Device Installation Guides","u":"/python-sdk/docs/installation","h":"#edge-device-installation-guides","p":161},{"i":168,"t":"Explore different ways to utilize Groundlight: Streaming Processor with Docker ESP32 Camera Integration Linux with Monitoring and Notification Server Once you've completed the installation for your platform, you can begin developing visual applications using the Groundlight SDK.","s":"Alternative Groundlight Usage Options","u":"/python-sdk/docs/installation","h":"#alternative-groundlight-usage-options","p":161},{"i":170,"t":"This guide will help you install the Groundlight SDK on Linux. The Groundlight SDK requires Python 3.9 or higher.","s":"Installing on Linux","u":"/python-sdk/docs/installation/linux","h":"","p":169},{"i":172,"t":"Ensure that you have the following installed on your system: Python 3.9 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/linux","h":"#prerequisites","p":169},{"i":174,"t":"Assuming you have Python 3.9 or higher installed on your system, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/linux","h":"#basic-installation","p":169},{"i":176,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip install groundlight If you're also using python2 on your system, you might need to use pip3 instead: pip3 install groundlight The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/linux","h":"#installing-groundlight-sdk","p":169},{"i":178,"t":"To check if the Groundlight SDK is installed and to display its version, you can use the following Python one-liner: python -c \"import groundlight; print(groundlight.__version__)\" or the groundlight command line tool that comes with the SDK: groundlight --help","s":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/linux","h":"#checking-groundlight-sdk-version","p":169},{"i":180,"t":"If you need to upgrade the Groundlight SDK to the latest version, use the following pip command: pip install --upgrade groundlight Or, if you're using pip3: pip3 install --upgrade groundlight After upgrading, you can use the Python one-liner mentioned in the \"Checking Groundlight SDK Version\" section to verify that the latest version is now installed.","s":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/linux","h":"#upgrading-groundlight-sdk","p":169},{"i":182,"t":"To check your installed Python version, open a terminal and run: python --version If you see a version number starting with \"3.9\" or higher (e.g., \"3.9.5\" or \"3.9.0\"), you're good to go. If not, you might need to upgrade Python on your system.","s":"Getting the right Python Version","u":"/python-sdk/docs/installation/linux","h":"#getting-the-right-python-version","p":169},{"i":184,"t":"Use your distribution's package manager to install the latest Python version: For Ubuntu or Debian-based systems: sudo apt update sudo apt install python3 (For Ubuntu 18.04 see note below.) For Fedora-based systems: sudo dnf install python3 For Arch Linux: sudo pacman -S python After upgrading, verify the Python version by running python --version or python3 --version, as described earlier.","s":"Upgrading Python on Linux","u":"/python-sdk/docs/installation/linux","h":"#upgrading-python-on-linux","p":169},{"i":186,"t":"Ubuntu 18.04 still uses python 3.6 by default, which is end-of-life. We generally recommend using python 3.10. If you know how to install py3.10, please go ahead. But the easiest version of python 3 to use with Ubuntu 18.04 is python 3.9, which can be installed as follows without adding any extra repositories: # Prepare Ubuntu to install things sudo apt-get update # Install the basics sudo apt-get install -y python3.9 python3.9-distutils curl # Configure `python3` to run python3.9 by default sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 10 # Download and install pip3.9 curl https://bootstrap.pypa.io/get-pip.py > /tmp/get-pip.py sudo python3.9 /tmp/get-pip.py # Configure `pip3` to run pip3.9 sudo update-alternatives --install /usr/bin/pip3 pip3 $(which pip3.9) 10 # Now we can install Groundlight! pip3 install groundlight","s":"Special note about Ubuntu 18.04","u":"/python-sdk/docs/installation/linux","h":"#special-note-about-ubuntu-1804","p":169},{"i":188,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens documentation and the Building Applications Guide.","s":"Ready to go!","u":"/python-sdk/docs/installation/linux","h":"#ready-to-go","p":169},{"i":190,"t":"Once you have created a Detector and captured an image, you can submit your image to Groundlight for analysis.","s":"Submitting Image Queries","u":"/python-sdk/docs/guide/submitting-image-queries","h":"","p":189},{"i":192,"t":"The primary method for submitting an image query is submit_image_query(detector: Detector, image: Any). This method takes a Detector object and an image as input and returns an ImageQuery object. from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector(id=\"det_abcdef...\") image_query = gl.submit_image_query(detector=detector, image=\"path/to/image.jpg\") submit_image_query provides fine-grained control over how the ImageQuery is processed. For example, a per-query confidence threshold can be set (defaults to the Detector's confidence threshold), and the query can be set to wait for up to a certain amount of time for a confident response (defaults to 30s). For example: from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector(id=\"det_abcdef...\") image_query = gl.submit_image_query( detector=detector, image=\"path/to/image.jpg\", confidence_threshold=0.95, wait=10.0, # seconds ) See the API Reference for more information on the submit_image_query method.","s":"Submit an Image Query","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#submit-an-image-query","p":189},{"i":194,"t":"For convenience, the submit_image_query method has aliases for the different patterns of usage. These aliases are ask_confident, ask_ml, and ask_async.","s":"Aliases for submit_image_query","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#aliases-for-submit_image_query","p":189},{"i":196,"t":"ask_confident evaluates an image with Groundlight waiting until an answer above the confidence threshold of the detector is reached or the wait period has passed. from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector(id=\"det_abcdef...\") image_query = gl.ask_confident(detector=detector, image=\"path/to/image.jpg\")","s":"Get the first confident answer","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#get-the-first-confident-answer","p":189},{"i":198,"t":"ask_async is a convenience method for submitting an ImageQuery asynchronously. This is equivalent to calling submit_image_query with want_async=True and wait=0. Use get_image_query to retrieve the result of the ImageQuery. from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector(id=\"det_abcdef...\") # Submit ImageQuery asynchronously image_query = gl.ask_async(detector=detector, image=\"path/to/image.jpg\") # Do other work while waiting for the result sleep(1.0) # Retrieve the result of the ImageQuery. Note that the provided # result can change over time - as the query is escalated through # our ladder - until a confident answer is reached. image_query = gl.get_image_query(id=image_query.id) See this guide for more information on ImageQueries submitted asynchronously.","s":"Submit an ImageQuery asynchronously","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#submit-an-imagequery-asynchronously","p":189},{"i":200,"t":"ask_ml evaluates an image with Groundlight and returns the first answer Groundlight can provide, agnostic of confidence. There is no wait period when using this method. It is called ask_ml because our machine learning models are earliest on our escalation ladder and thus always the fastest to respond. note We recommend using the ask_confident or the ask_async methods whenever possible for best results. from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector(id=\"det_abcdef...\") image_query = gl.ask_ml(detector=detector, image=\"path/to/image.jpg\") When using this method, low-confidence Image Queries will still be escalated to human review - this allows our models to continue to improve over time.","s":"(Advanced) Get the first available answer, regardless of confidence","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#advanced-get-the-first-available-answer-regardless-of-confidence","p":189},{"i":203,"t":"In practice, you may want to check for a new result on your query. For example, after a cloud reviewer labels your query. For example, you can use the image_query.id after the above submit_image_query() call. from groundlight import Groundlight gl = Groundlight() image_query = gl.get_image_query(id=\"iq_YOUR_IMAGE_QUERY_ID\")","s":"Retrieve an Image Query result","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#retrieve-an-image-query-result","p":189},{"i":205,"t":"from groundlight import Groundlight gl = Groundlight() # Defaults to 10 results per page image_queries = gl.list_image_queries() # Pagination: 1st page of 5 results per page image_queries = gl.list_image_queries(page=1, page_size=5)","s":"List your previous Image Queries","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#list-your-previous-image-queries","p":189},{"i":207,"t":"Groundlight lets you start using models by making queries against your very first image, but there are a few situations where you might either have an existing dataset, or you'd like to handle the escalation response programatically in your own code but still include the label to get better responses in the future. With your ImageQuery from either submit_image_query() or get_image_query() you can add the label directly. Note that if the query is already in the escalation queue due to low ML confidence or audit thresholds, it may also receive labels from another source. However, user-provided labels are always treated as the most authoritative. import requests from PIL import Image from groundlight import Groundlight gl = Groundlight() d = gl.get_or_create_detector(name=\"doorway\", query=\"Is the doorway open?\") image_url= \"https://images.selfstorage.com/large-compress/2174925f24362c479b2.jpg\" image = Image.open(requests.get(image_url, stream=True).raw) image_query = gl.submit_image_query(detector=d, image=image) gl.add_label(image_query, 'YES') # or 'NO'","s":"Add a label to an Image Query","u":"/python-sdk/docs/guide/submitting-image-queries","h":"#add-a-label-to-an-image-query","p":189},{"i":209,"t":"This guide will help you install the Groundlight SDK on Raspberry Pi. The Groundlight SDK requires Python 3.9 or higher.","s":"Usage on Raspberry Pi","u":"/python-sdk/docs/installation/raspberry-pi","h":"","p":208},{"i":211,"t":"Ensure that you have the following installed on your Raspberry Pi: Python 3.9 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/raspberry-pi","h":"#prerequisites","p":208},{"i":213,"t":"Assuming you have Python 3.9 or higher installed on your Raspberry Pi, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/raspberry-pi","h":"#basic-installation","p":208},{"i":215,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip3 install groundlight An ARM-compatible version will automatically get installed. The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/raspberry-pi","h":"#installing-groundlight-sdk","p":208},{"i":217,"t":"If you have docker installed on your Raspberry Pi, you can even just run docker run groundlight/stream as we publish an ARM version of our streaming application to Docker Hub.","s":"Using RTSP Streams","u":"/python-sdk/docs/installation/raspberry-pi","h":"#using-rtsp-streams","p":208},{"i":219,"t":"For a complete end-to-end example of running on a Raspberry Pi, see this GitHub repo.","s":"Sample application","u":"/python-sdk/docs/installation/raspberry-pi","h":"#sample-application","p":208},{"i":221,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens documentation and the Building Applications Guide.","s":"Ready to go!","u":"/python-sdk/docs/installation/raspberry-pi","h":"#ready-to-go","p":208},{"i":223,"t":"This guide will help you install the Groundlight SDK on NVIDIA Jetson devices. The Groundlight SDK requires Python 3.9 or higher.","s":"Usage on NVIDIA Jetson","u":"/python-sdk/docs/installation/nvidia-jetson","h":"","p":222},{"i":225,"t":"Ensure that you have the following installed on your NVIDIA Jetson: Python 3.9 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#prerequisites","p":222},{"i":227,"t":"Assuming you have Python 3.9 or higher installed on your NVIDIA Jetson, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#basic-installation","p":222},{"i":229,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip3 install groundlight An ARM-compatible version will automatically get installed. The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#installing-groundlight-sdk","p":222},{"i":231,"t":"If you have docker installed on your NVIDIA Jetson, you can even just run docker run groundlight/stream as we publish an ARM version of our streaming application to Docker Hub.","s":"Using RTSP Streams","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#using-rtsp-streams","p":222},{"i":233,"t":"For a complete end-to-end example of running on an NVIDIA Jetson, see this GitHub repo.","s":"Sample application","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#sample-application","p":222},{"i":235,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens documentation and the Building Applications Guide.","s":"Ready to go!","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#ready-to-go","p":222},{"i":238,"t":"The Groundlight Python SDK is optimized to run on small edge devices. As such, you can use the Groundlight SDK without installing large libraries like numpy or OpenCV. But if you're already installing them, we'll use them. Our SDK detects if these libraries are installed and will make use of them if they're present. If not, we'll gracefully degrade, and tell you what's wrong if you try to use these features.","s":"Smaller is better!","u":"/python-sdk/docs/installation/optional-libraries","h":"#smaller-is-better","p":236},{"i":240,"t":"The PIL library offers a bunch of standard utilities for working with images in python. The Groundlight SDK can work without PIL. Because PIL is not very large, and is quite useful, we install it by default with the normal build of the Groundlight SDK. So when you pip3 install groundlight it comes with the pillow version of the PIL library already installed.","s":"PIL - optional but default installed","u":"/python-sdk/docs/installation/optional-libraries","h":"#pil---optional-but-default-installed","p":236},{"i":242,"t":"If you are extremely space constrained, you can install the Groundlight SDK from source without PIL and it will work properly, but with reduced functionality. Specifically, you will need to convert your images into JPEG format yourself. The SDK normally relies on PIL to do JPEG compression (which is a non-trivial algorithm), and the API requires images to be in JPEG format. However on space-constrained platforms, sometimes this conversion is done in hardware, and so we don't want to force you to install PIL if you don't need it.","s":"Working without PIL","u":"/python-sdk/docs/installation/optional-libraries","h":"#working-without-pil","p":236},{"i":244,"t":"These commonly-used libraries are not installed by default, because they are quite large, and their installation can often cause conflicts with other dependent libraries. If you want to use them, install them directly.","s":"Numpy, OpenCV - fully optional","u":"/python-sdk/docs/installation/optional-libraries","h":"#numpy-opencv---fully-optional","p":236},{"i":246,"t":"This guide will help you install the Groundlight SDK on macOS. The Groundlight SDK requires Python 3.9 or higher.","s":"Installing on macOS","u":"/python-sdk/docs/installation/macos","h":"","p":245},{"i":248,"t":"Ensure that you have the following installed on your system: Python 3.9 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/macos","h":"#prerequisites","p":245},{"i":250,"t":"Assuming you have Python 3.9 or higher installed on your system, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/macos","h":"#basic-installation","p":245},{"i":252,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip install groundlight If you're also using python2 on your system, you might need to use pip3 instead: pip3 install groundlight The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/macos","h":"#installing-groundlight-sdk","p":245},{"i":254,"t":"To check if the Groundlight SDK is installed and to display its version, you can use the following Python one-liner: python -c \"import groundlight; print(groundlight.__version__)\" or the groundlight command line tool that comes with the SDK: groundlight --help","s":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/macos","h":"#checking-groundlight-sdk-version","p":245},{"i":256,"t":"If you need to upgrade the Groundlight SDK to the latest version, use the following pip command: pip install --upgrade groundlight Or, if you're using pip3: pip3 install --upgrade groundlight After upgrading, you can use the Python one-liner mentioned in the \"Checking Groundlight SDK Version\" section to verify that the latest version is now installed.","s":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/macos","h":"#upgrading-groundlight-sdk","p":245},{"i":258,"t":"To check your installed Python version, open a terminal and run: python --version If you see a version number starting with \"3.9\" or higher (e.g., \"3.9.5\" or \"3.9.0\"), you're good to go. If not, you might need to upgrade Python on your system.","s":"Getting the right Python Version","u":"/python-sdk/docs/installation/macos","h":"#getting-the-right-python-version","p":245},{"i":260,"t":"Download the latest Python installer from the official Python website and run it, or use Homebrew to install Python: brew install python After upgrading, verify the Python version by running python --version or python3 --version, as described earlier.","s":"Upgrading Python on MacOS","u":"/python-sdk/docs/installation/macos","h":"#upgrading-python-on-macos","p":245},{"i":262,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens documentation and the Building Applications Guide.","s":"Ready to go!","u":"/python-sdk/docs/installation/macos","h":"#ready-to-go","p":245},{"i":264,"t":"Groundlight supplies a tool for no-code deployment of a detector to an ESP32 Camera board. You can find it at https://iot.groundlight.ai/espcam.","s":"No-Code IoT Deployment","u":"/python-sdk/docs/other-ways-to-use/esp32cam","h":"","p":263},{"i":266,"t":"This tool is designed to make it as easy as possible to deploy your Groundlight detector on an ESP32 Camera Board. You can deploy your detector in just a few clicks. Go to https://iot.groundlight.ai/espcam Plug your ESP32 Camera Board into your computer with a USB cable. Click through the steps to upload your detector to your ESP32 Camera Board. When prompted, allow your browser access to the serial port, so that it can program the device. If you don't see a prompt like this, try using a current version of Chrome or another browser that supports Web Serial.","s":"Easy Deployment","u":"/python-sdk/docs/other-ways-to-use/esp32cam","h":"#easy-deployment","p":263},{"i":268,"t":"The tool supports the following notification options for your deployed detector: Email SMS (With Twilio) Slack","s":"Notification Options","u":"/python-sdk/docs/other-ways-to-use/esp32cam","h":"#notification-options","p":263},{"i":270,"t":"Tested with the following boards. Many other ESP32 boards should work as well, but may require building the firmware from source and changing the IO pin definitions. M5Stack ESP32 PSRAM Timer Camera [purchase here] M5Stack ESP32 PSRAM Timer Camera X [purchase here] ESP32-CAM [purchase here] SeeedStudio ESP32S3 Sense [purchase here]","s":"Multiple Supported Boards","u":"/python-sdk/docs/other-ways-to-use/esp32cam","h":"#multiple-supported-boards","p":263},{"i":272,"t":"The source code is written as an Arduino-based PlatformIO project for ESP32, and is available on GitHub at https://github.com/groundlight/esp32cam If you need assistance or have questions about integrating Groundlight with Arduino, please consider opening an issue on the GitHub repository or reaching out to our support team.","s":"Source Code","u":"/python-sdk/docs/other-ways-to-use/esp32cam","h":"#source-code","p":263},{"i":274,"t":"This guide will help you install the Groundlight SDK on Windows. The Groundlight SDK requires Python 3.9 or higher.","s":"Installing on Windows","u":"/python-sdk/docs/installation/windows","h":"","p":273},{"i":276,"t":"Ensure that you have the following installed on your system: Python 3.9 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/windows","h":"#prerequisites","p":273},{"i":278,"t":"Assuming you have Python 3.9 or higher installed on your system, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/windows","h":"#basic-installation","p":273},{"i":280,"t":"To install the Groundlight SDK using pip, run the following command in your Command Prompt: pip install groundlight If you're also using python2 on your system, you might need to use pip3 instead: pip3 install groundlight The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/windows","h":"#installing-groundlight-sdk","p":273},{"i":282,"t":"To check if the Groundlight SDK is installed and to display its version, you can use the following Python one-liner: python -c \"import groundlight; print(groundlight.__version__)\"","s":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/windows","h":"#checking-groundlight-sdk-version","p":273},{"i":284,"t":"If you need to upgrade the Groundlight SDK to the latest version, use the following pip command: pip install --upgrade groundlight Or, if you're using pip3: pip3 install --upgrade groundlight After upgrading, you can use the Python one-liner mentioned in the \"Checking Groundlight SDK Version\" section to verify that the latest version is now installed.","s":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/windows","h":"#upgrading-groundlight-sdk","p":273},{"i":286,"t":"To check your installed Python version, open a Command Prompt and run: python --version If you see a version number starting with \"3.9\" or higher (e.g., \"3.9.5\" or \"3.9.0\"), you're good to go. If not, you might need to upgrade Python on your system.","s":"Getting the right Python Version","u":"/python-sdk/docs/installation/windows","h":"#getting-the-right-python-version","p":273},{"i":288,"t":"Download the latest Python installer from the official Python website and run it. After upgrading, verify the Python version by running python --version or python3 --version, as described earlier.","s":"Upgrading Python on Windows","u":"/python-sdk/docs/installation/windows","h":"#upgrading-python-on-windows","p":273},{"i":290,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens documentation and the Building Applications Guide.","s":"Ready to go!","u":"/python-sdk/docs/installation/windows","h":"#ready-to-go","p":273},{"i":293,"t":"Typically you'll use the get_or_create_detector(name: str, query: str) method to find an existing detector you've already created with the same name, or create a new one if it doesn't exists. But if you'd like to force creating a new detector you can also use the create_detector(name: str, query: str) method from groundlight import Groundlight gl = Groundlight() detector = gl.create_detector(name=\"your_detector_name\", query=\"is there a hummingbird near the feeder?\")","s":"Explicitly create a new detector","u":"/python-sdk/docs/guide/working-with-detectors","h":"#explicitly-create-a-new-detector","p":291},{"i":295,"t":"To work with a detector that you've previously created, you need to retrieve it using its unique identifier. This is typical in Groundlight applications where you want to continue to use a detector you've already created. from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector(id=\"your_detector_id\") Alternatively, you can retrieve a detector by its name: from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector_by_name(name=\"your_detector_name\")","s":"Retrieve an existing detector","u":"/python-sdk/docs/guide/working-with-detectors","h":"#retrieve-an-existing-detector","p":291},{"i":297,"t":"To manage and interact with your detectors, you might need to list them. Groundlight provides a straightforward way to retrieve a list of detectors you've created. By default, the list is paginated to show 10 results per page, but you can customize this to suit your needs. from groundlight import Groundlight gl = Groundlight() # Defaults to 10 results per page detectors = gl.list_detectors() # Pagination: 1st page of 5 results per page detectors = gl.list_detectors(page=1, page_size=5)","s":"List your detectors","u":"/python-sdk/docs/guide/working-with-detectors","h":"#list-your-detectors","p":291},{"i":299,"t":"So far, all of the detectors we've created have been binary classification detectors. But what if you want to count the number of objects in an image? You can create a counting detector to do just that. Counting detectors also return bounding boxes around the objects they count. note Counting Detectors are available on Pro, Business, and Enterprise plans. from groundlight import ExperimentalApi gl_experimental = ExperimentalApi() detector = gl_experimental.create_counting_detector(name=\"your_detector_name\", query=\"How many cars are in the parking lot?\", max_count=20)","s":"[BETA] Create a Counting Detector","u":"/python-sdk/docs/guide/working-with-detectors","h":"#beta-create-a-counting-detector","p":291},{"i":301,"t":"If you want to classify images into multiple categories, you can create a multi-class detector. from groundlight import ExperimentalApi gl_experimental = ExperimentalApi() class_names = [\"Golden Retriever\", \"Labrador Retriever\", \"German Shepherd\"] detector = gl_experimental.create_multiclass_detector( name, query=\"What kind of dog is this?\", class_names=class_names )","s":"[BETA] Create a Multi-Class Detector","u":"/python-sdk/docs/guide/working-with-detectors","h":"#beta-create-a-multi-class-detector","p":291},{"i":303,"t":"Groundlight's Monitoring Notification Server (MNS) is the easiest way to deploy your Groundlight detectors on a linux computer. All configuration is done through a web user interface, and no code development is required.","s":"Low-Code Monitoring Notification Server","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"","p":302},{"i":305,"t":"Internet-connected Linux computer Video source (USB camera or RTSP stream) Groundlight API Key (available from groundlight.ai)","s":"Prerequisites","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#prerequisites","p":302},{"i":307,"t":"The Monitoring Notification Server is a versatile tool that can be deployed on any server to facilitate the creation and management of Groundlight Detectors. It allows you to configure detectors to retrieve images from custom sources and send notifications. Featuring an intuitive web interface, the Monitoring Notification Server enables easy configuration of detectors. The server operates on your device, capturing images from your camera and sending notifications as needed.","s":"Using the Application","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#using-the-application","p":302},{"i":311,"t":"To begin, clone the GitHub repository: https://github.com/groundlight/monitoring-notification-server git clone https://github.com/groundlight/monitoring-notification-server.git cd monitoring-notification-server Deployment options include Docker Compose, AWS Greengrass, and Kubernetes.","s":"Running the server","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#running-the-server","p":302},{"i":313,"t":"Locate the docker-compose.yml file. Run docker-compose up in the directory containing the docker-compose.yml file (the root of the repository). tip If you're using Docker Compose v2, replace docker-compose with docker compose.","s":"Running with Docker Compose","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#running-with-docker-compose","p":302},{"i":315,"t":"32-bit arm requires different binary images. Use the slightly different docker-compose-armv7.yml. Run docker-compose -f docker-compose-armv7.yml up.","s":"Running from Docker Compose on 32-bit ARM (armv7)","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#running-from-docker-compose-on-32-bit-arm-armv7","p":302},{"i":317,"t":"Before creating the component, run sudo usermod -aG docker ggc_user on your Greengrass device to allow the Greengrass service to access the host's Docker daemon. Create a new Greengrass Component Select \"Enter recipe as YAML\" Paste the YAML from greengrass-recipe.yaml into the text box Click \"Create component\" Click \"Deploy\" to deploy the component to your Greengrass group","s":"Running with AWS Greengrass","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#running-with-aws-greengrass","p":302},{"i":319,"t":"For a minimal Kubernetes setup, we recommend using k3s. Set up a Kubernetes cluster and install kubectl on your machine. Apply the Kubernetes configuration by running: kubectl apply -f kubernetes.yaml Ensure you are in the directory containing the kubernetes.yaml file.","s":"Running with Kubernetes","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#running-with-kubernetes","p":302},{"i":321,"t":"Install Node.js and Python 3.9+. git clone https://github.com/groundlight/monitoring-notification-server cd monitoring-notification-server npm install npm run dev Open http://localhost:3000 with your browser to see the result. The FastApi server will be running on http://0.0.0.0:8000 – feel free to change the port in package.json (you'll also need to update it in next.config.js).","s":"Building from Source","u":"/python-sdk/docs/other-ways-to-use/monitoring-notification-server","h":"#building-from-source","p":302},{"i":323,"t":"Explore these example applications to see Groundlight's computer vision capabilities in action:","s":"Sample Applications","u":"/python-sdk/docs/sample-applications","h":"","p":322},{"i":325,"t":"Groundlight's natural language-based computer vision technology transforms industrial processes in several key areas: Machine Tending: Automate loading/unloading of CNC machines and manufacturing equipment Process Automation: Optimize workflows and reduce manual intervention through intelligent vision systems Quality Control: Identify defects and maintain strict quality standards Cobot Integration: Enhance capabilities of collaborative robots and CNC machines Learn more about industrial applications →","s":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/sample-applications","h":"#industrial-and-manufacturing-applications","p":322},{"i":327,"t":"Monitor customer service counter utilization with this practical retail application. Features include: Real-time tracking of service counter usage Hourly utilization summaries Automated daily reports via email Data-driven insights for staff scheduling and store layout optimization View the retail analytics implementation →","s":"Retail Analytics Solution","u":"/python-sdk/docs/sample-applications","h":"#retail-analytics-solution","p":322},{"i":329,"t":"Create a playful home automation system that detects when your dog is on the couch and plays a pre-recorded message. This example demonstrates: Real-time image capture and analysis Audio playback integration Continuous monitoring capabilities Build your own dog detector →","s":"Fun Project: Dog-on-Couch Detector","u":"/python-sdk/docs/sample-applications","h":"#fun-project-dog-on-couch-detector","p":322},{"i":331,"t":"Monitor live streams with automated alerts using Groundlight's vision API. Features include: Frame capture from live streams Alert system integration Simple command-line interface Create a monitor for birds at your feeder →","s":"Live Stream Monitor: Bird Feeder Edition","u":"/python-sdk/docs/sample-applications","h":"#live-stream-monitor-bird-feeder-edition","p":322},{"i":333,"t":"The Groundlight Stream Processor is a simple containerized application for processing video streams and submitting frames to Groundlight. It supports a variety of input sources, including: Video devices (webcams) Video files (MP4, etc) RTSP streams HLS streams YouTube videos Image directories Image URLs The Stream Processor can be combined with Groundlight Alerts to create a simple video analytics system. For example, you could use the Stream Processor to process a video stream from a security camera and send an alert when a person is detected.","s":"Low-Code Stream Processor","u":"/python-sdk/docs/other-ways-to-use/stream-processor","h":"","p":332},{"i":335,"t":"You will need: A Groundlight account An API token from the Groundlight dashboard Docker installed on your system Set your Groundlight API token as an environment variable: export GROUNDLIGHT_API_TOKEN=\"\"","s":"Prerequisites:","u":"/python-sdk/docs/other-ways-to-use/stream-processor","h":"#prerequisites","p":332},{"i":337,"t":"Once signed in to the Groundlight dashboard, create a new detector by clicking the \"Create New\" button. Give your detector a name, a question, and a confidence threshold, then click \"Save.\" You will be redirected to the detector's page, where you can find the detector ID under the Setup tab. Note this ID for later use.","s":"Create a Detector via the Groundlight Dashboard","u":"/python-sdk/docs/other-ways-to-use/stream-processor","h":"#create-a-detector-via-the-groundlight-dashboard","p":332},{"i":339,"t":"Processing a stream is as easy as running a Docker container. For example, the following command will process a video file: docker run -v /path/to/video:/videos groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d “” \\ -s /videos/video.mp4 \\ -f 1 This will begin submitting frames from the video file to Groundlight. The -f flag specifies the frame rate in terms of frames per second. The container can be stopped by pressing Ctrl+C. A variety of input sources are supported, including RTSP streams. To process an RTSP stream, run the following command: docker run groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d “” \\ -s \"\" \\ -f 0.5 \\ -v This will begin submitting frames from the RTSP stream to Groundlight. The -v flag enables verbose logging. If you only wish to submit frames to Groundlight when there is motion detected in the video stream, you can add the -m flag: docker run groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d “” \\ -s \"\" \\ -f 2 \\ -m You may want the container to run in the background. To do this, add the --detach flag to the docker run command: docker run --detach groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d “” \\ -s \"\" \\ -f 2 \\ -m tip The Groundlight Stream Processor is lightweight and can be run on a Raspberry Pi or other low-power devices.","s":"Processing a Stream","u":"/python-sdk/docs/other-ways-to-use/stream-processor","h":"#processing-a-stream","p":332},{"i":341,"t":"The Stream Processor submits frames to Groundlight, but it does not do anything with the results. In order to build a useful alerting system, you can combine the Stream Processor with Groundlight Alerts.","s":"Combining with Groundlight Alerts","u":"/python-sdk/docs/other-ways-to-use/stream-processor","h":"#combining-with-groundlight-alerts","p":332},{"i":343,"t":"Modern natural language-based computer vision is transforming industrial and manufacturing applications by enabling more intuitive interaction with automation systems. Groundlight offers cutting-edge computer vision technology that can be seamlessly integrated into various industrial processes, enhancing efficiency, productivity, and quality control.","s":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/sample-applications/industrial","h":"","p":342},{"i":345,"t":"Groundlight's computer vision technology can assist in automating machine-tending tasks, such as loading and unloading materials in CNC machines, milling centers, or injection molding equipment. By enabling robots to recognize parts and tools using natural language, complex machine-tending tasks become more accessible and efficient.","s":"Machine Tending","u":"/python-sdk/docs/sample-applications/industrial","h":"#machine-tending","p":342},{"i":347,"t":"Integrating Groundlight's computer vision into your process automation systems can help identify bottlenecks, optimize workflows, and reduce manual intervention. Our technology can work hand-in-hand with robotic systems to perform tasks like sorting, assembly, all while interpreting natural language commands to streamline operations.","s":"Process Automation","u":"/python-sdk/docs/sample-applications/industrial","h":"#process-automation","p":342},{"i":349,"t":"Groundlight's computer vision technology can play a vital role in ensuring the highest quality standards in your manufacturing processes. By identifying defects or irregularities in products, our computer vision system can help maintain strict quality control, reducing the need for manual inspections and increasing overall product quality.","s":"Quality Control","u":"/python-sdk/docs/sample-applications/industrial","h":"#quality-control","p":342},{"i":351,"t":"Groundlight's computer vision technology can be easily integrated with popular cobot robotic arms, such as Universal Robots, to enhance their capabilities and improve collaboration between humans and robots. Additionally, our technology can be integrated into existing CNC machines or other devices using the Modbus interface, allowing for seamless communication and control within your manufacturing environment.","s":"Integration with Cobots and CNC Machines","u":"/python-sdk/docs/sample-applications/industrial","h":"#integration-with-cobots-and-cnc-machines","p":342},{"i":353,"t":"To learn more about how Groundlight's natural language computer vision technology can revolutionize your industrial and manufacturing processes, please reach out to us at info@groundlight.ai.","s":"Contact Sales","u":"/python-sdk/docs/sample-applications/industrial","h":"","p":342},{"i":355,"t":"A quick example to help you get started with monitoring live streams using the groundlight/stream container. In this example, we will set up a monitor on a live stream of a bird feeder and configure Groundlight to alert us when a bird is present at the feeder.","s":"A Quick Example: Live Stream Monitor","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","h":"","p":354},{"i":357,"t":"Docker installed on your system A YouTube live stream URL or video ID you'd like to monitor. For example, this live stream of a Bird Feeder in Panama hosted by the Cornell Lab of Ornithology: https://www.youtube.com/watch?v=WtoxxHADnGk A Groundlight account","s":"Requirements","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","h":"#requirements","p":354},{"i":359,"t":"Pull the Groundlight Stream container: docker pull groundlight/stream","s":"Installation","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","h":"#installation","p":354},{"i":361,"t":"The Groundlight Stream container makes it easy to monitor video streams. Here's how to use it: First, get (or create) your API token from the Groundlight dashboard. Set your Groundlight API token as an environment variable: export GROUNDLIGHT_API_TOKEN=\"\" Create a Binary-mode detector in the dashboard. Set the question to \"Is there a bird at the feeder?\" and the confidence threshold to 0.75. Note the detector ID for later use. tip We use a relatively low confidence threshold in this example because birdwatching is a fun and casual activity. For more critical applications, you may want to set a higher confidence threshold. Now, run the Groundlight Stream container to process the live stream. For example, to monitor the Cornell Lab of Ornithology's bird feeder live stream, you could use the following command: docker run groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d \"\" \\ -s \"https://www.youtube.com/watch?v=WtoxxHADnGk\" \\ -f 0.25 \\ # 1 frame every 4 seconds -m \\ # enable motion detection to only process frames when movement occurs -v # enable verbose logging You should see Image Queries being submitted to Groundlight as the container processes the live stream. Once you have confirmed that the container is working as expected, you can remove the -v flag to reduce the amount of logging, and you can also run the container in the background by adding the --detach flag. docker run --detach groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d \"\" \\ -s \"https://www.youtube.com/watch?v=WtoxxHADnGk\" \\ -f 0.25 \\ # 1 frame every 4 seconds -m # enable motion detection to only process frames when movement occurs Finally, let's set up an Alert to notify you when a bird visits the feeder. In the Groundlight dashboard: Navigate to the Alerts tab and click \"Create New Alert\" Enter a descriptive name like for the alert, such as \"Bird at feeder\" Select your bird detector by name Set the alert condition to Gives answer 'Yes' For 1 Consecutive answer(s) Choose \"Text\" as the Alert Type and enter your phone number Enable \"Include image in message\" to receive a photo of the bird with each alert (optional) Enable a 5-minute snooze period to prevent alert fatigue (optional) Click \"Create\" to activate your alert Now, sit back and relax! The container will begin submitting frames from the live stream to Groundlight. You will receive alerts when a bird is detected at the feeder.","s":"Creating the Monitor","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","h":"#creating-the-monitor","p":354},{"i":363,"t":"You can also use groundlight/stream to process local video files, RTSP streams, and more. Here are some examples: Process local video files by mounting them: docker run -v /path/to/video:/videos groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d \\ -s /videos/video.mp4 Connect to RTSP cameras: docker run groundlight/stream \\ -t \"$GROUNDLIGHT_API_TOKEN\" \\ -d \\ -s \"rtsp://username:password@camera_ip:554/stream\" See the complete documentation at https://github.com/groundlight/stream","s":"Additional Options","u":"/python-sdk/docs/sample-applications/streaming-with-alerts","h":"#additional-options","p":354},{"i":365,"t":"Here is a whimsical example of how you could use Groundlight in your home to keep your dog off the couch. This document will guide you through creating a complete application. If the dog is detected on the couch, the application will play a pre-recorded sound over the computer's speakers, instructing the dog to get off the couch. Be sure to record your own voice so that your dog pays attention to you.","s":"A Fun Example: Dog-on-Couch Detector","u":"/python-sdk/docs/sample-applications/dog-on-couch","h":"","p":364},{"i":367,"t":"Groundlight SDK with Python 3.9 or higher A supported USB or network-connected camera A pre-recorded sound file (e.g., get_off_couch.mp3) A couch and a dog are recommended for proper end-to-end testing.","s":"Requirements","u":"/python-sdk/docs/sample-applications/dog-on-couch","h":"#requirements","p":364},{"i":369,"t":"Ensure you have Python 3.9 or higher installed, and then install the Groundlight SDK, OpenCV library, and other required libraries: pip install groundlight opencv-python pillow pyaudio","s":"Installation","u":"/python-sdk/docs/sample-applications/dog-on-couch","h":"#installation","p":364},{"i":371,"t":"First, log in to the Groundlight dashboard and create an API Token. Next, we'll write the Python script for the application. Import the required libraries: import cv2 import pyaudio import time import wave from PIL import Image from groundlight import Groundlight, ApiException Define a function to capture an image from the camera using OpenCV: def capture_image(): cap = cv2.VideoCapture(0) ret, frame = cap.read() cap.release() if ret: # Convert to PIL image return Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)) else: return None Define a function to play the pre-recorded sound: def play_sound(file_path): CHUNK = 1024 wf = wave.open(file_path, 'rb') p = pyaudio.PyAudio() stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(), rate=wf.getframerate(), output=True) data = wf.readframes(CHUNK) while data: stream.write(data) data = wf.readframes(CHUNK) stream.stop_stream() stream.close() p.terminate() Write the main application loop: gl = Groundlight() detector = gl.get_or_create_detector(\"Dog on Couch Detector\") while True: image = capture_image() if image: try: iq = gl.submit_image_query(image=image, detector=detector, wait=60) answer = iq.result.label if answer == \"YES\": print(\"Dog detected on the couch!\") play_sound(\"get_off_couch.mp3\") except ApiException as e: print(f\"Error submitting image query: {e}\") else: print(\"Failed to capture image\") # Sleep for a minute before checking again time.sleep(60) This application captures an image using the capture_image function, then submits it to the Groundlight API for analysis. If the dog is detected on the couch, it plays the pre-recorded sound using the play_sound function. Save the script as dog_on_couch_detector.py and run it: python dog_on_couch_detector.py","s":"Creating the Application","u":"/python-sdk/docs/sample-applications/dog-on-couch","h":"#creating-the-application","p":364},{"i":374,"t":"This example demonstrates the application of Groundlight to a retail analytics solution, which monitors the usage of a service counter by customers throughout the day. The application creates a detector to identify when the service desk is being utilized by a customer. It checks the detector every minute, and once an hour, it prints out a summary of the percentage of time that the service counter is in use. At the end of the day, it emails the daily log. This retail analytics application can be beneficial in various ways: Staff allocation and scheduling: By analyzing the usage patterns of the service counter, store managers can optimize staff allocation and scheduling, ensuring that enough employees are available during peak hours and reducing wait times for customers. Identifying trends: The application can help identify trends in customer behavior, such as busier times of the day or specific days of the week with higher traffic. This information can be used to plan targeted marketing campaigns or promotions to increase sales and customer engagement. Improving store layout: Understanding when and how often customers use the service counter can provide insights into the effectiveness of the store's layout. Retailers can use this information to make data-driven decisions about rearranging the store layout to encourage customers to visit the service counter or explore other areas of the store. Customer satisfaction: By monitoring the usage of the service counter and proactively addressing long wait times or crowded areas, retailers can improve customer satisfaction and loyalty. A positive customer experience can lead to increased sales and return visits. To implement this retail analytics solution, a store would need to install a supported camera near the service counter, ensuring a clear view of the area. The camera would then be connected to a computer running the Groundlight-based application. Store managers would receive hourly summaries of the service counter usage and a daily log via email, enabling them to make informed decisions to improve store operations and customer experience.","s":"Tracking utilization of a customer service counter","u":"/python-sdk/docs/sample-applications/retail-analytics","h":"#tracking-utilization-of-a-customer-service-counter","p":372},{"i":376,"t":"Groundlight SDK with Python 3.9 or higher A supported USB or network-connected camera An email account with SMTP access to send the daily log","s":"Requirements","u":"/python-sdk/docs/sample-applications/retail-analytics","h":"#requirements","p":372},{"i":378,"t":"Ensure you have Python 3.9 or higher installed, and then install the Groundlight SDK, OpenCV library, and other required libraries: pip install groundlight opencv-python pillow","s":"Installation","u":"/python-sdk/docs/sample-applications/retail-analytics","h":"#installation","p":372},{"i":380,"t":"First, log in to the Groundlight dashboard and create an API Token. Next, we'll write the Python script for the application. Import the required libraries: import smtplib import time from datetime import datetime, timedelta from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText import cv2 from PIL import Image from groundlight import Groundlight Define a function to capture an image from the camera using OpenCV: def capture_image(): cap = cv2.VideoCapture(0) ret, frame = cap.read() cap.release() if ret: # Convert to PIL image return Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)) else: return None Define a function to send the daily log via email. You will need to customize this for your particular network environment. def send_email(sender, receiver, subject, body): msg = MIMEMultipart() msg['From'] = sender msg['To'] = receiver msg['Subject'] = subject msg.attach(MIMEText(body, 'plain')) server = smtplib.SMTP('smtp.example.com', 587) server.starttls() server.login(sender, \"your-password\") text = msg.as_string() server.sendmail(sender, receiver, text) server.quit() Define when your business's operating hours are: START_OF_BUSINESS = 9 # e.g. 9am END_OF_BUSINESS = 17 # e.g. 5pm def is_within_business_hours(): current_hour = datetime.now().hour return START_OF_BUSINESS <= current_hour < END_OF_BUSINESS Write the main application loop: gl = Groundlight() detector = gl.get_or_create_detector( name=\"counter-in-use\", query=\"Is there a customer at the service counter?\", # We can get away with relatively low confidence since we're aggregating across images confidence_threshold=0.8) DELAY = 60 log = [] daily_log = [] next_hourly_start = datetime.now().replace(minute=0, second=0, microsecond=0) + timedelta(hours=1) while True: if not is_within_business_hours(): time.sleep(DELAY) continue image = capture_image() if not image: print(\"Failed to capture image\") time.sleep(DELAY) continue try: iq = gl.submit_image_query(image=image, detector=detector, wait=60) except Exception as e: print(f\"Error submitting image query: {e}\") time.sleep(DELAY) continue answer = iq.result.label log.append(answer) if datetime.now() >= next_hourly_start: next_hourly_start += timedelta(hours=1) percent_in_use = (log.count(\"YES\") / len(log)) * 100 current_time = datetime.now().replace(hour=START_OF_BUSINESS, minute=0, second=0) formatted_time = current_time.strftime(\"%I%p\") # like 3pm msg = f\"Hourly summary for {formatted_time}: {percent_in_use:.0f}% counter in use\" print(msg) daily_log.append(msg) log = [] current_hour = datetime.now().hour if current_hour == END_OF_BUSINESS and not daily_log == []: daily_summary = \"Daily summary:\\n\" for msg in daily_log: daily_summary += f\"{msg}\\n\" print(daily_summary) send_email(sender=\"counterbot@example.com\", receiver=\"manager@example.com\", subject=\"Daily Service Counter Usage Log\", body=daily_summary) daily_log = [] time.sleep(DELAY) This application captures an image using the capture_image function, then submits it to the Groundlight API for analysis. If a customer is detected at the counter, it logs the event. Every hour, it prints a summary of the counter's usage percentage, and at the end of the day, it emails the daily log using the send_email function. Save the entire script as service_counter_monitor.py and run it: python service_counter_monitor.py","s":"Creating the Application","u":"/python-sdk/docs/sample-applications/retail-analytics","h":"#creating-the-application","p":372}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/3",[0,0.318,1,1.451,2,1.88,3,1.68,4,3.193,5,1.88,6,0.994,7,1.307,8,1.203,9,1.88,10,1.451,11,1.549,12,1.218,13,4.212,14,2.631,15,1.88,16,1.085,17,2.567,18,1.373,19,1.68,20,1.052,21,1.68,22,1.052,23,1.373,24,1.88,25,1.88,26,1.451,27,1.159,28,1.88,29,1.88,30,2.331,31,4.386,32,1.88,33,2.895,34,1.88,35,1.88,36,1.689,37,3.721,38,3.193,39,1.114,40,2.631,41,1.373,42,1.88,43,2.854,44,1.88,45,1.88,46,1.88,47,2.331,48,1.88,49,1.88,50,1.373,51,0.96,52,1.307,53,1.307,54,1.88,55,1.644,56,1.603,57,4.162,58,3.213,59,3.193,60,1.842,61,3.787,62,4.312,63,1.68,64,1.68,65,1.88,66,1.451,67,1.085,68,1.68,69,1.903,70,1.459,71,1.88,72,1.88,73,1.88,74,1.451,75,1.68,76,1.88,77,1.88,78,1.88,79,0.994,80,1.88,81,1.549,82,1.88,83,1.88,84,0.878,85,3.583,86,1.307,87,1.052,88,1.88,89,1.88,90,1.451,91,2.331,92,1.68,93,1.373,94,1.88,95,1.373,96,2.221,97,1.689,98,1.373,99,1.307,100,2.895,101,1.203,102,2.509,103,4.465,104,1.251,105,1.68,106,1.68,107,1.88,108,1.373,109,1.88,110,1.88,111,4.386,112,4.386,113,1.549,114,2.631,115,2.895,116,1.451,117,0.593,118,0.944,119,1.251,120,2.464,121,1.88,122,1.373,123,1.88,124,1.159,125,1.203,126,1.88,127,1.88,128,1.159,129,1.88,130,1.88,131,2.331,132,1.88,133,1.307,134,1.88,135,1.88,136,1.88,137,1.68,138,3.193,139,2.631,140,2.464,141,1.373,142,1.203,143,1.085,144,1.842,145,1.68,146,1.549,147,2.331,148,2.631,149,1.88,150,1.88,151,1.88,152,1.88,153,0.759,154,1.159,155,1.88,156,1.88,157,1.88,158,0.531,159,2.854,160,2.126,161,2.221,162,1.88,163,1.88,164,1.88,165,1.68,166,1.88,167,1.88,168,1.459,169,1.88,170,1.88,171,1.68,172,1.159,173,1.88,174,1.88,175,1.451,176,1.68,177,1.68,178,1.549,179,1.88,180,1.451]],["t/5",[6,0.688,7,0.904,10,1.788,13,3.652,17,2.344,30,1.691,47,0.949,55,0.67,60,1.807,62,0.802,67,0.75,69,1.866,70,2.698,74,1.004,84,0.608,86,1.611,87,0.728,93,0.949,95,0.949,96,0.904,97,1.225,102,1.315,103,1.542,108,0.949,114,1.909,115,0.904,117,0.731,122,0.949,124,0.802,140,1.004,143,0.75,144,0.75,153,0.525,154,0.802,161,3.891,180,2.417,181,0.688,182,0.9,183,1.162,184,1.071,185,0.949,186,0.832,187,1.259,188,3.132,189,1.071,190,4.085,191,0.802,192,1.3,193,1.3,194,0.75,195,1.788,196,1.3,197,1.071,198,1.482,199,1.3,200,0.904,201,2.07,202,1.691,203,2.316,204,1.162,205,3.132,206,2.316,207,1.336,208,2.316,209,2.316,210,1.3,211,2.581,212,2.417,213,0.866,214,1.3,215,1.3,216,1.957,217,1.315,218,0.949,219,1.162,220,0.832,221,0.949,222,1.162,223,3.267,224,1.3,225,2.004,226,3.123,227,1.3,228,1.162,229,0.904,230,1.071,231,1.071,232,1.3,233,2.316,234,1.3,235,1.162,236,1.3,237,1.3,238,1.071,239,1.162,240,1.3,241,2.8,242,1.071,243,0.728,244,0.949,245,1.071,246,1.3,247,1.071,248,2.594,249,2.07,250,1.162,251,1.162,252,0.949,253,0.866,254,4.61,255,1.726,256,1.3,257,1.3,258,1.071,259,1.788,260,1.3,261,1.3,262,1.761,263,0.622,264,1.3,265,2.8,266,1.3,267,1.162,268,1.004,269,1.162,270,1.3,271,5.291,272,1.3,273,1.3,274,1.3,275,2.775,276,3.398,277,1.3,278,1.3,279,1.3,280,1.3,281,0.581,282,2.316,283,1.3,284,1.909,285,0.775,286,2.316,287,1.3,288,1.3,289,1.3,290,1.3,291,0.832,292,1.3,293,0.949,294,1.3,295,1.162,296,1.004,297,1.3,298,1.3,299,1.004,300,2.316,301,2.8,302,3.232,303,4.319,304,1.3,305,1.3,306,1.3,307,1.3,308,1.3,309,1.3,310,1.3,311,1.3,312,1.3,313,1.3,314,2.07,315,1.3,316,1.3,317,1.004,318,3.398,319,1.788,320,1.071,321,1.3,322,1.3,323,1.3,324,1.3,325,1.162,326,2.07,327,1.162,328,1.3,329,1.3,330,1.071,331,1.3,332,1.3,333,1.3,334,1.3,335,1.071,336,1.3,337,0.949,338,1.3,339,1.162,340,0.949,341,1.3,342,1.3,343,1.3,344,1.162,345,1.3,346,0.775,347,1.3,348,1.3,349,1.3,350,3.132,351,1.3,352,2.316,353,2.287,354,1.3,355,1.004,356,1.3,357,1.071,358,1.3,359,2.316,360,1.3,361,1.162,362,1.071,363,1.162,364,1.3,365,1.162,366,1.611,367,1.3,368,1.3,369,3.801,370,0.866,371,0.866,372,1.3,373,1.3,374,0.949,375,1.909,376,1.3,377,1.004,378,1.071,379,1.3,380,1.071,381,1.3,382,1.3,383,1.162,384,1.3,385,1.162,386,1.3,387,1.3,388,1.3,389,1.004,390,1.3,391,2.07,392,1.3,393,1.3,394,1.3,395,1.3,396,1.3,397,1.071,398,1.162,399,1.162,400,1.162,401,1.071,402,1.3]],["t/7",[13,1.219,17,1.535,55,2.616,85,1.817,97,1.316,98,1.817,104,1.657,124,1.535,160,3.887,161,2.803,211,3.321,216,1.282,223,2.131,225,3.736,243,1.393,248,1.045,255,0.985,258,2.051,262,1.309,285,4.091,293,2.943,296,1.921,301,2.225,302,1.535,337,1.817,339,2.225,344,2.225,346,2.402,355,3.111,357,4.186,370,1.657,371,2.683,385,2.225,403,2.489,404,2.803,405,3.321,406,2.051,407,5.22,408,2.489,409,2.489,410,4.507,411,4.812,412,2.225,413,2.489,414,2.489,415,2.489,416,2.489,417,2.225,418,5.58,419,1.817,420,2.051,421,2.489,422,2.489,423,2.489,424,5.957,425,3.92,426,4.03,427,4.812,428,1.921,429,2.489,430,2.489,431,2.225,432,3.111,433,2.931,434,1.817,435,5.58,436,3.111,437,2.489,438,1.731,439,2.225,440,1.921,441,2.489,442,2.489,443,2.489,444,4.03,445,2.489,446,4.684,447,1.883,448,4.186,449,2.489,450,2.225,451,1.921,452,2.225,453,2.489,454,2.489,455,2.489,456,2.489,457,2.489,458,2.489,459,2.489,460,3.321,461,2.489,462,2.489,463,2.489,464,4.03,465,4.03,466,2.051,467,4.54,468,3.603,469,3.321,470,2.489,471,1.921,472,1.657,473,1.921,474,2.051,475,2.051,476,1.024,477,2.051,478,2.489,479,2.051,480,1.657,481,2.225,482,2.051,483,2.489,484,2.489]],["t/9",[1,1.184,13,4.38,17,0.946,53,1.864,55,1.38,90,1.184,92,1.371,96,2.975,97,1.417,98,3.898,104,1.784,122,1.12,142,3.675,143,2.059,144,3.315,147,1.957,160,3.233,161,1.067,186,0.981,187,0.834,190,2.605,197,1.264,200,1.067,211,1.264,212,1.184,220,2.283,223,4.157,226,1.597,230,2.208,244,1.12,245,1.264,248,1.796,252,1.957,254,2.208,262,0.919,271,1.264,275,1.957,281,0.686,284,1.264,285,2.549,302,3.543,303,1.264,318,3.19,319,5.75,340,1.957,346,1.597,355,1.184,362,2.208,366,3.377,370,2.375,375,2.94,383,3.19,389,1.184,404,1.067,405,1.264,406,1.264,410,2.068,411,2.208,418,1.184,427,1.264,428,1.184,434,2.605,435,3.301,438,1.067,446,4.195,451,1.184,460,1.264,468,3.19,475,2.208,476,0.631,477,1.264,481,1.371,485,1.534,486,1.534,487,1.371,488,1.534,489,1.184,490,1.371,491,7.027,492,1.534,493,1.534,494,3.301,495,1.534,496,2.68,497,1.534,498,2.481,499,2.68,500,1.371,501,4.277,502,1.534,503,1.371,504,1.12,505,1.957,506,4.772,507,1.371,508,1.534,509,1.371,510,3.568,511,1.534,512,1.371,513,2.68,514,1.371,515,3.19,516,3.19,517,1.534,518,3.568,519,4.277,520,3.996,521,1.534,522,2.68,523,1.371,524,2.395,525,2.68,526,1.184,527,1.546,528,1.534,529,1.067,530,0.985,531,3.568,532,2.208,533,1.534,534,1.534,535,1.534,536,3.19,537,1.371,538,2.68,539,2.68,540,2.68,541,3.19,542,1.534,543,1.371,544,1.371,545,1.264,546,1.534,547,1.371,548,0.834,549,1.534,550,1.021,551,4.856,552,2.2,553,1.534,554,1.534,555,1.184,556,1.264,557,1.12,558,1.534,559,1.371,560,1.264,561,1.534,562,1.371]],["t/11",[0,0.406,13,4.222,16,2.349,22,2.278,52,2.831,79,2.153,100,2.831,101,5.132,102,3.176,128,2.51,142,5.132,144,3.393,180,3.142,216,2.096,217,1.709,223,4.242,230,3.355,258,3.355,285,2.426,296,4.54,319,4.54,320,3.355,370,2.71,371,2.71,434,2.972,471,3.142,476,1.676,482,3.355,494,3.142,541,3.639,547,3.639,552,2.51,557,2.972,563,5.69,564,4.071,565,3.142,566,2.831,567,3.639,568,4.071,569,4.071,570,3.355,571,2.831,572,4.802,573,5.258,574,3.355,575,4.071,576,3.142,577,4.071,578,4.071,579,4.071,580,2.831,581,3.142,582,3.639,583,4.071,584,3.639,585,4.071]],["t/13",[1,1.315,13,2.539,36,0.901,39,0.594,47,2.143,51,0.512,55,1.992,62,1.051,87,0.954,93,3.357,97,1.552,100,1.185,101,3.316,102,2.923,103,1.134,104,1.134,108,1.244,124,1.051,128,2.385,133,1.185,142,4.597,143,2.231,144,3.869,154,1.81,158,0.481,160,1.954,172,1.051,181,0.901,182,0.662,188,1.404,190,1.244,198,1.09,213,2.575,216,0.877,223,1.552,225,1.09,226,2.304,243,1.643,247,1.404,248,1.624,262,2.058,275,2.143,276,1.523,281,1.312,285,2.304,296,2.266,302,3.197,340,1.244,346,1.015,357,1.404,370,1.134,375,1.404,377,1.315,406,1.404,407,1.523,410,1.315,411,1.404,418,1.315,424,2.419,425,2.266,427,1.404,428,1.315,432,4.373,433,1.694,434,2.143,435,1.315,436,1.315,438,2.042,440,2.985,446,3.357,452,1.523,472,1.954,476,0.701,489,1.315,494,1.315,504,2.824,509,1.523,512,1.523,536,2.624,552,2.385,556,1.404,563,2.419,566,1.185,567,1.523,572,2.69,586,1.704,587,1.244,588,1.878,589,1.523,590,2.624,591,2.936,592,1.704,593,1.704,594,1.704,595,1.404,596,1.315,597,1.134,598,1.704,599,3.457,600,2.936,601,1.523,602,3.867,603,1.523,604,1.704,605,1.704,606,1.704,607,1.704,608,1.404,609,1.704,610,2.266,611,1.134,612,1.523,613,1.704,614,6.066,615,1.704,616,2.936,617,1.523,618,0.983,619,4.109,620,1.404,621,1.704,622,1.704,623,1.704,624,2.624,625,1.704,626,2.419,627,1.704,628,3.867,629,1.704,630,1.704,631,1.704,632,1.404,633,2.624,634,0.834,635,0.474,636,2.936,637,1.523,638,1.704,639,2.936,640,1.704,641,1.704,642,1.704,643,1.244,644,1.704,645,1.704,646,1.523,647,0.983,648,1.704,649,1.523,650,1.704,651,1.704,652,1.244,653,1.704,654,1.244,655,1.704,656,0.954,657,0.594,658,1.704,659,2.985,660,1.704,661,1.185,662,1.704,663,1.704,664,3.089,665,1.704,666,2.936,667,1.704,668,1.404,669,1.704,670,1.523,671,2.624,672,1.704,673,1.704,674,1.704,675,1.704]],["t/15",[13,3.415,55,3.591,97,1.821,102,1.446,124,2.123,142,4.461,143,3.611,144,4.318,159,4.645,160,2.292,165,3.077,168,1.573,180,2.657,187,1.872,191,2.123,223,3.31,226,3.73,238,2.837,248,1.446,262,2.028,275,2.514,284,2.837,285,3.096,302,3.86,335,2.837,340,2.514,410,4.011,412,3.077,417,3.077,418,4.831,424,2.837,425,2.657,428,2.657,432,4.011,436,2.657,440,4.011,476,2.139,489,2.657,494,4.011,504,3.794,555,2.657,572,2.394,588,2.202,614,5.382,619,3.077,620,2.837,624,3.077,626,2.837,676,3.443,677,2.657,678,3.443,679,2.394,680,3.443,681,2.837,682,3.077,683,2.394,684,3.443,685,3.443,686,4.353,687,4.57,688,3.443,689,3.443,690,2.837,691,2.514,692,3.443,693,3.443,694,3.443,695,3.077,696,3.443,697,3.443,698,3.443,699,3.443,700,3.443]],["t/17",[13,1.562,39,1.112,51,0.959,60,1.84,62,1.966,96,2.218,101,4.628,102,3.727,103,3.263,124,3.023,140,5.173,142,4.886,143,4.406,144,1.84,145,2.85,153,1.287,158,0.9,220,2.04,229,2.218,255,1.262,262,0.822,281,1.425,285,1.9,317,2.461,320,2.628,346,1.9,380,2.628,400,2.85,434,2.328,489,3.783,515,2.85,516,2.85,527,1.84,550,2.123,572,5.71,584,2.85,589,4.382,597,2.123,599,2.85,603,2.85,610,3.783,614,2.461,654,4.894,668,2.628,691,2.328,701,4.382,702,3.189,703,4.661,704,2.628,705,2.85,706,7.11,707,4.902,708,1.642,709,2.85,710,2.85,711,4.902,712,3.189,713,3.189,714,3.189,715,3.189,716,2.628,717,4.382,718,4.902,719,3.189,720,3.189,721,3.189,722,3.189,723,2.628,724,4.36,725,4.609,726,3.189]],["t/19",[13,3.706,41,3.867,47,2.578,60,3.056,62,3.919,63,3.156,67,2.037,68,4.734,91,5.524,97,2.801,182,1.372,190,2.578,195,4.088,216,1.818,223,3.361,226,3.787,254,2.909,262,2.366,265,7.101,291,5.271,293,3.867,314,4.734,326,4.734,327,4.734,371,3.526,436,4.088,479,5.237,574,2.909,671,4.734,727,4.734,728,2.909,729,3.531,730,2.909,731,3.156,732,3.531,733,3.531,734,3.531,735,7.062,736,5.296,737,3.531,738,3.531,739,3.531,740,2.104,741,3.531,742,3.531,743,5.296,744,3.531,745,3.531,746,3.156,747,3.531,748,3.531,749,3.531,750,3.531,751,3.531]],["t/21",[13,2.799,17,1.24,41,4.173,55,2.639,60,1.95,62,3.16,91,1.468,96,1.399,97,1.788,100,1.399,101,1.287,102,0.844,104,1.339,122,1.468,128,2.084,140,1.552,142,3.96,143,3.572,144,2.523,153,0.812,154,1.24,160,1.339,168,1.544,175,1.552,181,1.063,190,1.468,223,1.063,226,3.054,242,1.657,248,1.419,262,2.317,267,5.109,271,2.785,275,2.468,281,0.899,285,3.054,302,2.084,303,4.709,340,2.468,346,1.198,370,2.25,438,1.399,440,4.411,446,1.468,447,0.94,448,2.785,451,1.552,469,1.657,472,2.25,476,1.391,482,2.785,544,3.909,557,2.468,572,5.163,574,2.785,576,1.552,588,1.287,610,2.609,614,4.411,620,1.657,654,1.468,682,1.798,695,3.022,701,1.798,703,1.399,709,1.798,710,1.798,716,1.657,725,1.552,727,5.109,746,5.109,752,1.798,753,1.798,754,2.011,755,2.011,756,2.011,757,2.011,758,3.38,759,3.38,760,3.38,761,3.38,762,4.373,763,3.38,764,4.373,765,2.011,766,2.011,767,2.011,768,2.011,769,2.011,770,2.011,771,2.011,772,3.38,773,2.351,774,3.38,775,2.011,776,2.011,777,2.011,778,2.011,779,2.011,780,1.798,781,3.38,782,1.399,783,2.011,784,1.798,785,1.657,786,0.753,787,1.657,788,1.657,789,2.011,790,2.011,791,2.011,792,1.798,793,2.011,794,1.798,795,2.011,796,2.011,797,4.373,798,2.011,799,2.011,800,2.011,801,2.011,802,1.552,803,1.339,804,1.798,805,1.657,806,2.011,807,2.011,808,2.011,809,3.38,810,2.011,811,2.011,812,2.011,813,1.657,814,2.011,815,2.011]],["t/23",[13,3.295,21,2.445,39,0.954,51,0.822,85,1.997,86,3.023,87,1.53,100,3.023,101,2.781,102,1.825,103,1.821,122,1.997,133,1.902,143,1.578,144,2.508,158,0.772,160,4.104,161,4.981,168,1.986,188,2.254,202,1.997,204,2.445,212,2.111,217,1.148,223,1.446,244,3.174,248,1.148,252,1.997,262,2.12,269,2.445,302,1.686,319,4.176,371,1.821,378,2.254,389,4.176,425,3.355,431,2.445,432,4.176,435,2.111,438,1.902,446,3.174,450,2.445,460,2.254,473,2.111,475,4.458,476,2.227,480,1.821,503,2.445,504,1.997,559,2.445,572,1.902,573,2.445,588,1.75,626,2.254,654,1.997,670,4.837,706,2.445,802,2.111,805,2.254,813,2.254,816,2.111,817,2.735,818,2.445,819,2.735,820,2.445,821,2.735,822,2.735,823,6.013,824,2.735,825,4.347,826,1.997,827,2.111,828,2.735,829,2.254,830,2.735,831,2.735,832,2.735,833,2.735,834,2.735,835,2.735,836,2.735,837,2.735,838,2.735,839,2.735,840,2.735,841,2.735,842,4.347,843,2.445,844,2.735,845,2.735,846,4.347,847,2.445,848,2.735,849,5.411,850,2.735,851,2.735,852,2.735,853,2.735,854,2.735,855,2.735,856,2.735,857,4.347,858,5.411,859,2.735,860,1.75,861,2.735,862,2.735,863,2.735,864,2.445,865,2.735,866,2.445,867,2.111,868,2.735,869,2.111]],["t/25",[0,0.423,1,3.277,3,3.795,8,2.716,13,2.969,14,3.499,17,3.738,22,2.376,31,5.419,33,2.953,39,1.481,43,3.795,51,1.823,62,3.738,66,3.277,74,3.277,75,3.795,79,2.245,100,4.216,102,2.545,103,4.707,104,4.707,111,3.795,112,3.795,113,3.499,114,3.499,119,2.827,131,3.1,139,3.499,146,3.499,148,3.499,153,1.714,172,2.618,187,2.308,226,2.53,346,2.53,374,3.1,378,3.499,397,3.499,610,3.277,632,3.499,704,3.499,725,3.277,818,3.795,870,3.795,871,3.795,872,4.246,873,2.716,874,4.246,875,3.499,876,3.795,877,4.246,878,3.277,879,4.246,880,4.246,881,4.246,882,4.246,883,4.246,884,3.795,885,4.246,886,4.246,887,3.795,888,4.246,889,4.246,890,4.246,891,4.246,892,4.246]],["t/27",[6,3.184,7,4.187,13,2.948,62,3.712,161,4.187,176,5.382,177,6.863,419,4.396,668,4.961,681,4.961,893,6.02,894,5.382,895,6.02,896,6.02,897,6.02,898,6.02,899,5.382,900,5.382,901,5.382,902,5.382,903,6.02,904,6.02,905,6.02,906,6.02,907,6.02,908,6.02,909,6.02,910,6.02,911,6.02]],["t/29",[47,3.462,60,3.779,96,3.297,98,3.462,117,1.496,144,4.33,285,3.903,325,4.238,346,2.825,355,3.659,371,3.156,380,3.907,448,3.907,469,6.67,476,1.951,520,4.555,543,4.238,557,3.462,617,4.238,716,3.907,787,3.907,794,7.236,829,3.907,847,4.238,912,4.741,913,4.741,914,4.741,915,4.741,916,4.741,917,6.709,918,4.741,919,4.741,920,4.741,921,4.741,922,6.709,923,6.55,924,5.397,925,4.741,926,4.741,927,6.55,928,3.907,929,4.238,930,4.741]],["t/31",[10,4.638,13,3.975,39,1.463,51,1.261,52,2.917,60,3.467,62,2.586,79,3.178,97,2.218,101,4.492,102,2.948,103,4.675,142,4.492,144,4.683,153,1.693,182,1.629,223,4.055,229,2.917,285,3.581,335,3.456,337,3.063,374,3.063,520,5.333,557,3.063,563,4.952,571,2.917,582,3.749,647,2.42,731,3.749,784,3.749,786,2.25,787,3.456,788,3.456,792,3.749,802,3.237,899,3.749,900,3.749,901,3.749,902,3.749,931,6.009,932,4.194,933,3.749,934,4.194,935,4.194,936,2.917,937,3.237,938,4.194,939,6.009,940,3.456,941,4.194]],["t/34",[0,0.788,12,1.499,39,2,81,3.24,119,2.618,158,1.11,187,2.138,218,2.871,243,2.201,302,2.425,404,4.708,447,2.68,476,1.618,529,2.735,647,2.269,679,2.735,942,5.744,943,3.035,944,3.515,945,2.871,946,3.989,947,3.818,948,6.052,949,3.515,950,3.24,951,3.515,952,3.24,953,2.871,954,3.035,955,2.871,956,2.516,957,2.516,958,2.618,959,3.515,960,3.515,961,3.515,962,3.515,963,3.035,964,3.515,965,2.743,966,2.953,967,0.954,968,3.035,969,3.24,970,3.818,971,3.515,972,1.618,973,2.871,974,3.24,975,5.127,976,3.515,977,3.24,978,3.035,979,2.618,980,2.871,981,2.138,982,2.138,983,4.726,984,1.721,985,2.516,986,3.035,987,2.871,988,3.035,989,2.343,990,3.035,991,2.735,992,2.618,993,3.515,994,2.871,995,3.035,996,3.515]],["t/36",[0,0.746,12,1.517,39,2.017,81,3.277,119,2.648,158,1.123,187,2.162,218,2.904,243,2.226,302,2.453,404,4.022,447,2.702,476,1.637,529,2.766,647,2.295,679,2.766,942,5.775,943,3.07,944,3.555,945,2.904,946,4.022,947,3.85,948,6.092,949,3.555,950,3.277,951,3.555,952,3.277,953,2.904,954,3.07,955,2.904,956,2.544,957,2.544,958,2.648,959,3.555,960,3.555,961,3.555,962,3.555,963,3.07,964,3.555,965,2.766,966,2.978,967,0.965,968,3.07,969,3.277,970,3.85,971,3.555,972,1.637,973,2.904,974,3.277,975,5.17,976,3.555,977,3.277,978,3.07,979,2.648,980,2.904,981,2.162,982,2.162,983,4.766,984,1.74,985,2.544,986,3.07,987,2.904,988,3.07,989,2.37,990,3.07,991,2.766,992,2.648,993,3.555,994,2.904,995,3.07,996,3.555]],["t/38",[0,0.693,39,1.437,158,1.163,198,2.635,216,2.121,249,3.682,370,2.743,433,2.377,447,1.925,480,2.743,506,3.682,529,2.865,566,2.865,634,2.018,785,3.395,804,3.682,826,3.008,942,3.18,945,3.008,946,5.289,947,4.628,956,3.795,957,3.795,972,2.441,991,2.865,997,3.682,998,3.18,999,4.579,1000,5.365,1001,3.682,1002,3.682,1003,2.24,1004,2.865,1005,3.682,1006,4.579,1007,2.865,1008,4.119,1009,3.008,1010,5.932,1011,4.119,1012,4.119,1013,3.949,1014,5.303,1015,5.076,1016,2.837,1017,2.455,1018,4.119,1019,6.214,1020,2.978,1021,3.682,1022,4.119,1023,4.119,1024,2.743,1025,4.119,1026,4.119,1027,4.119,1028,3.682,1029,4.119,1030,3.682,1031,3.682]],["t/40",[0,0.696,6,1.564,8,2.958,16,1.706,20,1.655,39,1.613,40,2.437,41,2.159,60,1.706,79,1.564,95,2.159,117,0.933,118,1.484,191,1.823,216,1.523,404,3.215,476,2.649,480,1.969,587,2.159,596,2.282,597,1.969,683,2.056,708,1.523,724,4.157,947,3.078,956,4.95,957,4.738,963,3.568,970,3.078,972,1.217,977,3.81,980,3.376,981,3.095,982,3.095,984,2.023,986,3.568,987,3.376,989,1.762,990,2.282,991,4.477,1000,2.282,1004,2.056,1006,3.568,1007,2.056,1015,4.7,1016,1.414,1032,2.437,1033,1.892,1034,2.957,1035,2.282,1036,2.643,1037,2.437,1038,1.969,1039,2.056,1040,2.264,1041,2.957,1042,3.078,1043,4.133,1044,2.957,1045,2.643,1046,2.957,1047,2.643,1048,2.437,1049,1.969,1050,2.282,1051,2.957,1052,2.957,1053,4.133,1054,2.957,1055,2.957,1056,2.643,1057,4.133,1058,2.437,1059,2.437,1060,2.957,1061,2.957,1062,2.643,1063,4.623,1064,2.643,1065,2.282,1066,1.762,1067,3.81,1068,2.957,1069,1.217,1070,1.762,1071,3.376,1072,4.133,1073,2.643,1074,2.957,1075,1.892,1076,1.762,1077,1.655,1078,2.957,1079,2.282,1080,2.957,1081,2.957,1082,2.957,1083,2.957]],["t/42",[0,0.489,12,1.218,17,1.159,20,1.052,23,1.373,30,1.373,56,0.944,58,1.451,60,1.842,61,1.451,70,1.459,84,0.878,87,1.052,102,1.341,116,1.451,117,2.011,118,2.759,133,1.307,153,0.759,158,0.902,168,0.859,200,1.307,202,1.373,217,1.341,243,1.052,248,1.748,263,3.207,476,1.713,480,2.771,571,1.307,576,2.464,656,1.787,683,1.307,728,1.549,780,1.68,946,1.307,947,4.465,954,1.451,955,1.373,956,1.203,957,1.203,967,0.456,970,2.126,972,2.46,981,1.022,982,1.022,984,1.397,986,5.177,987,3.039,989,1.903,990,1.451,991,4.432,1001,1.68,1004,2.221,1006,3.787,1007,1.307,1015,4.014,1016,0.899,1036,1.68,1042,1.251,1043,1.68,1047,1.68,1048,1.549,1049,1.251,1050,3.213,1053,1.68,1058,1.549,1062,1.68,1065,2.464,1066,3.275,1067,4.043,1070,2.48,1071,4.014,1084,1.549,1085,2.854,1086,2.631,1087,1.68,1088,1.88,1089,1.88,1090,2.631,1091,1.68,1092,1.68,1093,1.549,1094,1.251,1095,1.88,1096,1.022,1097,2.771,1098,1.88,1099,1.88,1100,1.451,1101,1.549,1102,1.159,1103,1.88,1104,1.88,1105,1.251,1106,1.88,1107,1.88,1108,5.497,1109,1.549,1110,2.221,1111,1.307,1112,0.944,1113,1.451,1114,1.12,1115,1.549,1116,1.68,1117,1.88,1118,1.88,1119,1.88,1120,1.68,1121,1.68,1122,1.68,1123,1.969,1124,3.193,1125,1.68,1126,2.221,1127,3.139,1128,1.88,1129,2.331,1130,1.88,1131,1.451,1132,1.88,1133,1.373,1134,2.631,1135,1.549,1136,1.373,1137,2.895,1138,1.88,1139,2.464,1140,1.88,1141,1.88,1142,1.203,1143,1.549,1144,1.68,1145,1.88,1146,1.373,1147,4.162,1148,2.854,1149,1.451,1150,1.307,1151,1.68,1152,1.307,1153,1.68,1154,1.88,1155,1.549,1156,1.68,1157,3.721,1158,2.854,1159,1.68,1160,1.88,1161,1.68,1162,1.88,1163,1.549,1164,1.451,1165,1.88,1166,1.159,1167,1.88,1168,1.159,1169,1.373,1170,1.88,1171,1.68,1172,1.373,1173,1.451,1174,2.854,1175,1.251,1176,1.68,1177,1.68]],["t/44",[0,0.166,18,2.099,39,1.324,40,1.37,60,1.658,67,0.959,79,1.52,87,0.931,91,1.214,93,2.099,117,0.525,124,1.025,125,1.064,168,0.76,181,0.879,187,0.904,194,0.959,197,1.37,201,1.486,217,1.899,225,1.064,229,1.156,262,1.316,263,0.795,374,1.214,405,4.209,472,1.107,476,1.183,487,1.486,524,1.486,529,1.156,550,1.107,552,1.025,562,1.486,576,3.942,581,1.283,596,1.283,597,1.107,657,1.003,659,2.93,664,0.991,703,2.64,705,1.486,724,1.214,730,1.37,829,1.37,867,1.283,929,1.486,945,3.302,946,3.887,947,3.721,955,1.214,956,2.893,957,2.429,965,0.795,966,0.856,968,1.283,970,1.914,972,2.467,973,4.628,985,1.064,987,1.214,991,4.95,999,1.283,1000,1.283,1002,1.486,1006,2.93,1009,1.214,1015,2.099,1016,1.375,1017,0.991,1019,4.042,1020,1.443,1042,1.914,1048,1.37,1050,2.219,1056,1.486,1057,1.486,1064,2.57,1065,4.892,1066,4.467,1070,3.043,1071,2.772,1101,1.37,1114,0.991,1115,1.37,1122,1.486,1135,2.369,1148,1.486,1149,2.219,1153,1.486,1155,1.37,1156,1.486,1166,1.773,1174,4.042,1175,2.528,1176,3.394,1177,3.394,1178,1.663,1179,1.663,1180,1.663,1181,1.663,1182,1.283,1183,1.663,1184,1.486,1185,2.57,1186,1.663,1187,1.663,1188,1.663,1189,1.663,1190,1.663,1191,1.663,1192,1.663,1193,2.369,1194,1.663,1195,1.37,1196,1.283,1197,1.486,1198,1.663,1199,2.874,1200,1.663,1201,1.663,1202,1.663,1203,5.107,1204,1.663,1205,1.663,1206,2.874,1207,1.663,1208,1.283,1209,1.663,1210,1.283,1211,1.663,1212,1.663,1213,1.663,1214,1.663,1215,1.258,1216,1.486,1217,1.663,1218,1.663,1219,2.874,1220,3.797,1221,1.663,1222,1.663,1223,2.874,1224,2.874,1225,1.663,1226,1.663,1227,2.874,1228,1.663,1229,1.663,1230,1.663,1231,1.663,1232,1.486,1233,1.658,1234,0.959,1235,1.663,1236,1.37,1237,1.214,1238,3.797,1239,2.57,1240,1.486,1241,1.486,1242,1.663,1243,1.663,1244,2.57,1245,1.486,1246,2.369,1247,1.486,1248,1.663,1249,1.663,1250,2.874,1251,1.663,1252,1.663,1253,1.663,1254,1.663,1255,1.663,1256,1.064,1257,1.37,1258,1.486,1259,1.37,1260,1.663,1261,0.959,1262,1.663,1263,1.663,1264,1.214,1265,1.663,1266,1.486,1267,1.663,1268,1.486,1269,1.486,1270,1.486,1271,1.663]],["t/46",[0,0.367,17,2.27,22,2.06,30,2.688,39,1.906,102,1.546,117,2.055,124,2.27,148,3.033,168,1.682,191,2.27,194,2.124,217,1.546,248,1.546,255,1.457,259,2.841,353,2.688,366,2.56,398,3.29,447,1.72,595,3.033,601,3.29,652,2.688,940,3.033,945,2.688,946,3.8,947,3.637,953,3.989,956,2.355,957,2.355,992,2.451,1013,3.637,1015,5.263,1016,1.76,1042,2.451,1065,2.841,1066,3.882,1067,7.069,1069,2.249,1070,3.255,1071,3.989,1077,2.06,1125,3.29,1133,2.688,1157,3.29,1158,3.29,1166,2.27,1168,2.27,1169,2.688,1171,3.29,1172,2.688,1173,2.841,1197,3.29,1234,3.152,1237,2.688,1272,3.681,1273,2.06,1274,3.681,1275,5.463,1276,3.152,1277,3.681,1278,3.681,1279,3.681,1280,3.681,1281,3.681,1282,3.681,1283,3.681,1284,2.06,1285,3.681,1286,2.688,1287,3.681,1288,5.463,1289,3.681,1290,3.681,1291,3.681,1292,2.355,1293,3.29]],["t/48",[0,0.753,39,1.677,70,3.021,117,2.086,171,4.297,194,2.773,251,4.297,281,2.149,490,4.297,654,3.51,827,3.71,972,3.111,1003,2.613,1007,4.599,1070,2.864,1075,3.075,1139,3.71,1142,3.075,1161,4.297,1173,3.71,1182,3.71,1244,4.297,1247,4.297,1269,4.297,1292,3.075,1294,4.807,1295,3.961,1296,5.104,1297,5.104,1298,4.807,1299,6.613,1300,3.343,1301,4.807,1302,3.51,1303,4.297,1304,3.961,1305,4.297,1306,3.961,1307,4.807,1308,4.807,1309,4.807,1310,4.807,1311,4.807,1312,4.807,1313,4.807,1314,4.297,1315,3.51,1316,2.69,1317,4.297]],["t/50",[0,0.489,22,2.747,139,4.045,194,2.832,217,2.061,243,2.747,404,3.414,447,2.294,498,4.666,500,4.388,580,3.414,634,2.404,677,3.789,871,4.388,887,4.388,942,3.789,954,3.789,956,4.292,957,3.141,963,3.789,999,3.789,1003,2.669,1091,4.388,1115,4.045,1195,4.045,1233,2.832,1270,4.388,1316,2.747,1318,4.909,1319,4.909,1320,4.909,1321,4.909,1322,3.584,1323,4.909,1324,4.909,1325,4.388,1326,4.909,1327,4.909,1328,4.388,1329,4.388,1330,4.388,1331,3.414,1332,4.388,1333,3.789,1334,2.925,1335,4.909,1336,4.909,1337,4.909,1338,4.909,1339,4.909,1340,4.909,1341,4.909,1342,4.909,1343,4.909]],["t/52",[0,0.91,262,2.202,480,3.6,634,2.649,657,2.498,967,1.313,1035,4.174,1042,3.6,1069,2.226,1135,4.456,1292,3.46,1344,3.335,1345,5.408,1346,4.415,1347,4.456,1348,5.408,1349,4.834,1350,5.408,1351,5.408,1352,3.893,1353,4.131,1354,4.98,1355,4.834,1356,3.6,1357,3.272,1358,5.408,1359,3.949,1360,5.408,1361,5.408]],["t/54",[228,5.731,634,3.14,827,4.948,1184,5.731,1344,5.616,1346,3.953,1352,3.485,1353,3.699,1362,5.283,1363,6.411,1364,6.411,1365,6.411,1366,5.731,1367,5.731,1368,6.411,1369,6.411,1370,6.411,1371,6.411,1372,6.411,1373,6.411]],["t/56",[1344,4.693,1346,4.693,1352,4.137,1374,6.271,1375,7.61,1376,7.61]],["t/58",[219,6.009,537,6.009,555,5.189,958,4.475,1069,3.385,1344,4.145,1352,4.832,1377,5.54,1378,4.908,1379,5.54,1380,4.475,1381,4.675,1382,3.005,1383,6.722,1384,6.722]],["t/60",[128,4.066,184,5.434,476,2.714,1040,3.23,1127,4.219,1152,4.586,1208,5.09,1234,3.805,1241,5.895,1352,4.419,1380,4.39,1381,4.586,1385,3.929,1386,6.594,1387,6.594,1388,6.594,1389,4.815,1390,6.594,1391,6.594]],["t/63",[0,0.825,84,2.696,117,1.82,125,3.691,262,2.338,635,2.077,657,2.012,965,2.759,966,2.971,1033,3.691,1316,3.229,1357,2.636,1392,3.691,1393,2.422,1394,5.769,1395,4.453,1396,4.754,1397,3.557,1398,4.754,1399,4.754,1400,4.754,1401,3.841,1402,3.691,1403,3.051,1404,4.754,1405,4.754,1406,4.212,1407,4.453]],["t/65",[6,2.408,7,3.167,22,3.564,39,1.588,70,2.91,84,2.128,93,4.65,102,2.674,108,3.325,117,1.437,118,3.197,181,3.884,182,1.769,216,2.345,217,2.674,220,2.913,259,3.515,371,3.031,447,2.128,530,1.674,677,3.515,869,3.515,873,4.699,878,3.515,965,2.178,966,2.345,994,3.325,1097,3.031,1102,2.808,1264,3.325,1292,2.913,1392,2.913,1393,1.912,1408,4.554,1409,4.07,1410,4.554,1411,4.554,1412,4.554,1413,3.515,1414,4.07,1415,4.554,1416,3.167,1417,3.167,1418,4.916,1419,4.554,1420,4.07,1421,4.554,1422,4.554,1423,4.07,1424,4.554,1425,3.167,1426,4.07,1427,3.325,1428,3.167,1429,3.031,1430,4.554]],["t/67",[26,5.139,56,3.342,158,1.88,217,2.795,691,4.861,1045,5.951,1264,4.861,1417,4.63,1431,5.486,1432,4.259,1433,5.951,1434,6.658,1435,6.658,1436,6.658,1437,5.951,1438,6.658,1439,3.967,1440,5.951,1441,6.658]],["t/69",[0,0.875,84,2.215,117,1.496,182,1.842,216,2.441,248,1.991,262,2.189,530,1.743,635,2.251,657,1.654,786,1.775,967,1.151,1069,2.696,1215,2.074,1273,2.653,1316,2.653,1346,2.923,1352,2.577,1353,2.735,1354,3.297,1356,3.156,1357,2.166,1382,2.928,1385,2.825,1395,3.659,1396,3.907,1397,2.923,1398,3.907,1399,3.907,1400,3.907,1401,3.156,1402,3.033,1403,2.507,1404,3.907,1405,3.907,1406,3.462,1407,3.659,1442,2.246,1443,1.842,1444,2.735,1445,4.741,1446,3.462,1447,4.741,1448,3.659,1449,5.855]],["t/72",[0,0.457,12,2.44,20,2.565,27,4.92,50,3.347,67,3.692,69,3.813,70,2.094,84,2.142,90,3.538,125,2.932,191,2.826,194,2.645,226,2.731,252,3.347,255,1.815,262,2.299,505,4.672,664,2.731,967,1.112,1150,3.188,1237,3.347,1306,3.777,1316,2.565,1333,3.538,1347,3.777,1403,2.424,1406,3.347,1450,4.097,1451,4.097,1452,3.777,1453,4.097,1454,3.538,1455,3.538,1456,4.584,1457,4.584,1458,5.273,1459,3.347,1460,4.584,1461,6.399,1462,5.72,1463,4.584,1464,4.584,1465,4.584,1466,4.097,1467,4.584,1468,3.777,1469,4.097,1470,4.584,1471,4.097]],["t/75",[27,4.543,67,4.25,69,4.39,117,2.324,168,3.366,194,4.25,1451,6.585,1472,7.367,1473,7.367]],["t/77",[0,0.58,6,3.076,7,4.046,23,4.248,27,4.631,39,2.62,146,4.794,181,3.076,217,2.443,229,4.046,255,2.303,353,4.248,365,5.2,476,2.394,491,5.2,580,4.046,581,4.49,740,3.466,1133,4.248,1333,5.797,1417,4.046,1429,3.873,1474,5.818,1475,5.818,1476,5.2,1477,3.873,1478,5.818,1479,5.2,1480,5.818,1481,5.818,1482,5.818]],["t/79",[11,5.883,69,4.254,262,1.84,263,4.079,498,4.965,740,4.254,1121,6.381,1483,7.139,1484,7.139,1485,7.139,1486,6.381]],["t/81",[16,4.861,27,4.313,153,2.823,647,4.036,940,5.764,1059,5.764,1426,6.252,1450,6.252,1487,6.994,1488,6.994,1489,6.994,1490,6.994,1491,6.994]],["t/83",[27,4.402,67,4.119,69,4.254,198,4.567,212,5.51,262,1.84,401,5.883,679,4.965,937,5.51,1093,5.883,1492,7.139,1493,7.139]],["t/85",[27,4.402,67,4.119,1059,5.883,1215,3.124,1494,7.139,1495,7.139,1496,6.381,1497,7.139,1498,7.139,1499,7.139,1500,7.139,1501,7.139]],["t/87",[0,0.914,158,1.845,248,3.393,253,4.349,447,3.052,967,1.961,1069,3.611,1352,3.551,1353,3.769,1428,4.543,1442,2.24,1502,2.984,1503,5.839,1504,5.383]],["t/89",[0,0.866,182,2.862,635,2.048,782,5.123,1069,3.032,1352,4.005,1385,4.39,1443,2.862]],["t/91",[0,0.923,39,1.843,51,1.589,153,2.133,158,1.991,635,1.961,876,4.724,967,1.711,1003,2.873,1069,2.175,1259,4.354,1353,4.068,1382,2.362,1442,2.417,1443,2.053,1502,2.414,1504,4.354,1505,3.381,1506,4.354,1507,7.051,1508,4.354,1509,5.284,1510,5.284,1511,4.724,1512,4.078,1513,3.381,1514,5.284,1515,4.078,1516,5.284,1517,3.453,1518,4.694,1519,5.284]],["t/93",[0,0.752,248,2.463,262,2.152,967,1.424,998,4.528,1069,3.844,1169,4.284,1273,3.283,1352,4.96,1353,3.385,1354,4.08,1356,5.027,1446,4.284,1512,4.528,1513,3.753,1515,4.528,1520,5.245,1521,3.906,1522,5.867,1523,5.867]],["t/95",[0,0.838,12,2.516,39,1.312,84,2.594,117,1.751,153,1.518,158,1.062,243,2.105,253,2.504,262,2.224,552,2.319,634,2.719,635,1.046,657,1.312,786,1.408,967,1.347,1040,1.842,1069,2.715,1076,2.241,1112,1.888,1233,2.17,1261,2.17,1276,2.17,1334,2.241,1357,1.718,1395,2.903,1397,3.423,1399,3.099,1400,3.099,1401,2.504,1402,2.406,1403,2.936,1404,3.099,1405,3.099,1406,2.746,1449,4.962,1452,4.574,1453,4.962,1454,4.285,1455,5.092,1459,2.746,1468,3.099,1502,1.718,1524,2.504,1525,4.392,1526,3.761,1527,3.761,1528,2.746,1529,3.362,1530,3.761,1531,3.761,1532,3.761,1533,3.761,1534,3.761,1535,3.761,1536,4.962,1537,3.761,1538,3.761,1539,3.761,1540,3.761,1541,3.761,1542,3.761,1543,3.761,1544,3.761,1545,3.761,1546,3.761,1547,3.362]],["t/97",[0,0.824,8,3.498,13,1.361,17,1.713,26,4.801,51,1.324,52,1.932,56,1.395,70,2.498,74,3.398,102,1.849,117,0.877,118,3.122,158,1.544,168,1.27,185,2.029,191,1.713,194,1.603,202,2.029,244,2.029,248,1.167,433,1.603,447,1.298,570,2.29,580,1.932,608,2.29,611,1.85,634,1.361,691,2.029,703,1.932,740,1.656,773,1.932,805,2.29,860,2.816,965,2.615,966,2.816,970,1.85,989,1.656,992,1.85,1017,2.623,1033,1.778,1038,1.85,1039,1.932,1040,3.953,1073,3.935,1076,2.623,1096,1.511,1100,2.145,1112,1.395,1114,2.623,1166,1.713,1210,2.145,1297,2.145,1322,2.029,1334,3.706,1382,1.968,1392,1.778,1393,1.167,1402,1.778,1416,3.062,1425,3.062,1428,4.326,1439,2.623,1496,2.484,1502,1.27,1505,1.778,1548,4.403,1549,3.64,1550,3.802,1551,2.484,1552,3.398,1553,1.04,1554,2.779,1555,2.484,1556,2.779,1557,2.145,1558,1.85,1559,1.85,1560,2.931,1561,2.29,1562,2.779,1563,2.484,1564,2.145,1565,2.779,1566,2.29,1567,2.145,1568,2.779,1569,3.935,1570,2.145,1571,2.29,1572,2.779,1573,2.779,1574,2.484,1575,2.29,1576,2.29,1577,1.85,1578,2.484,1579,3.215,1580,2.484,1581,1.932,1582,2.779,1583,2.779,1584,2.29,1585,2.029]],["t/99",[0,0.765,117,1.899,118,3.022,168,2.751,187,3.273,330,4.961,740,3.587,1017,5.037,1114,3.587,1234,4.429,1377,4.961,1382,3.432,1385,3.587,1559,4.008,1575,4.961,1578,5.382,1586,4.396,1587,5.382,1588,4.961,1589,5.879,1590,4.961,1591,5.382,1592,5.382]],["t/101",[84,3.293,117,1.331,118,3.86,125,2.7,200,2.935,217,2.534,221,5.145,438,2.935,472,2.809,476,1.737,571,4.197,717,3.772,724,3.081,740,2.515,972,1.737,984,1.847,1013,2.809,1017,2.515,1020,2.118,1077,2.362,1094,2.809,1146,4.407,1208,3.257,1210,3.257,1234,2.435,1240,3.772,1322,3.081,1334,2.515,1393,2.534,1477,2.809,1524,2.809,1553,1.58,1559,4.018,1564,3.257,1587,5.395,1588,3.477,1589,5.886,1593,3.257,1594,5.395,1595,3.257,1596,5.395,1597,3.772,1598,3.772,1599,4.22,1600,4.22,1601,2.809,1602,3.772,1603,2.809,1604,4.22,1605,2.435,1606,3.772,1607,4.22,1608,3.772,1609,3.257,1610,4.22,1611,4.22,1612,4.22,1613,4.22,1614,3.257]],["t/103",[0,0.704,773,4.914,989,4.21,1013,4.704,1017,4.21,1553,2.645,1576,5.823,1577,4.704,1586,5.159,1615,7.066,1616,6.316,1617,7.066,1618,7.066]],["t/105",[0,0.71,6,4.505,87,3.003,117,2.247,118,4.014,158,1.515,168,2.452,194,3.096,255,2.124,268,4.142,480,3.572,683,3.732,730,4.422,984,2.348,1016,2.566,1050,5.498,1096,2.917,1110,3.732,1112,4.014,1113,5.498,1114,4.245,1505,3.433,1569,4.797,1619,3.433,1620,4.797,1621,5.366,1622,4.422,1623,5.366,1624,4.797,1625,4.422,1626,3.572,1627,4.142]],["t/107",[0,0.681,6,3.89,12,1.262,18,2.417,51,0.995,84,1.547,117,1.928,118,1.662,158,1.425,178,2.728,182,1.96,187,1.8,217,2.118,223,1.751,245,2.728,255,1.311,262,2.141,263,1.583,353,2.417,433,1.91,550,2.204,635,0.921,647,1.91,652,2.417,656,1.853,657,2.132,661,2.303,690,2.728,803,2.204,813,2.728,958,3.359,967,0.804,984,1.449,1013,2.204,1077,1.853,1102,2.042,1110,2.303,1111,4.251,1112,3.068,1113,3.894,1136,2.417,1142,2.118,1163,2.728,1195,2.728,1261,3.526,1284,1.853,1300,2.303,1315,2.417,1334,1.973,1382,1.48,1389,2.417,1402,2.118,1403,1.751,1442,1.135,1525,2.204,1555,2.96,1570,2.555,1593,2.555,1595,2.555,1619,2.118,1628,3.311,1629,3.311,1630,3.311,1631,3.311,1632,3.311,1633,3.311,1634,3.311,1635,5.045,1636,5.463,1637,2.96,1638,5.045,1639,4.51,1640,4.157,1641,2.96,1642,2.303,1643,2.96,1644,2.728,1645,2.728,1646,2.728,1647,2.728,1648,2.728,1649,2.728,1650,2.728,1651,2.728,1652,2.728,1653,2.555,1654,2.96,1655,3.311,1656,3.311]],["t/109",[0,0.704,6,3.361,12,1.346,51,1.061,69,2.104,117,2.228,118,1.772,158,0.997,168,3.457,225,2.259,231,5.237,255,1.398,262,2.388,263,3.039,268,2.725,548,1.919,550,3.526,635,0.982,656,1.976,657,1.231,664,2.104,803,3.526,967,0.857,972,2.906,1096,1.919,1112,1.772,1113,4.088,1114,2.104,1126,2.455,1146,2.578,1149,2.725,1152,2.455,1164,2.725,1261,3.056,1403,1.867,1407,2.725,1458,2.909,1525,2.35,1560,2.35,1624,3.156,1636,3.156,1637,3.156,1649,2.909,1650,2.909,1657,1.19,1658,2.909,1659,3.531,1660,2.909,1661,3.531,1662,3.156,1663,3.531,1664,3.531,1665,6.355,1666,3.531,1667,7.062,1668,3.531,1669,2.909,1670,6.355,1671,5.681,1672,6.355,1673,5.296,1674,3.531,1675,2.909]],["t/111",[0,0.835,12,1.419,18,2.717,22,2.082,53,2.587,117,2.286,153,1.502,158,1.051,172,2.294,187,2.023,262,2.365,263,4.008,419,2.717,476,1.531,634,1.822,647,2.147,657,1.921,690,4.538,803,2.477,878,2.872,1077,2.082,1096,2.023,1105,2.477,1111,2.587,1112,1.868,1137,2.587,1261,5.071,1284,2.082,1334,3.281,1403,3.467,1407,5.06,1458,4.538,1560,4.365,1570,2.872,1593,2.872,1649,3.066,1650,3.066,1652,3.066,1653,2.872,1676,3.721,1677,3.721,1678,5.507,1679,3.721,1680,2.872,1681,3.721,1682,3.721,1683,2.872,1684,3.721,1685,2.294,1686,3.721,1687,3.721,1688,3.721,1689,3.326,1690,3.721,1691,3.721,1692,3.721]],["t/113",[0,0.469,20,2.635,22,2.635,56,2.364,128,2.903,317,3.634,433,2.717,471,3.634,634,2.306,708,2.425,782,3.275,786,1.763,873,4.784,875,3.88,974,3.88,985,3.012,988,3.634,1003,3.544,1086,3.88,1127,4.784,1168,2.903,1284,2.635,1316,2.635,1331,3.275,1346,2.903,1425,3.275,1439,5.459,1442,1.614,1693,3.634,1694,4.611,1695,3.88,1696,3.88,1697,4.209,1698,4.209,1699,4.709,1700,4.709,1701,4.709,1702,4.709,1703,4.209,1704,3.88,1705,5.46,1706,3.88,1707,4.209,1708,4.709,1709,4.709,1710,3.634]],["t/115",[0,0.611,20,1.862,22,2.834,23,5.383,36,2.678,39,1.16,56,1.67,84,1.555,102,1.397,116,3.908,117,1.05,118,1.67,154,2.051,220,2.128,226,3.017,241,2.974,248,1.397,263,1.591,661,2.314,664,1.982,708,1.713,786,1.246,816,2.568,873,3.239,972,2.523,981,1.809,982,1.809,1016,1.591,1024,2.215,1086,4.172,1096,1.809,1102,2.051,1123,2.051,1127,4.383,1137,2.314,1150,2.314,1166,2.051,1168,3.122,1169,2.429,1172,2.429,1173,2.568,1216,2.974,1234,1.919,1257,2.741,1261,1.919,1292,2.128,1317,2.974,1409,2.974,1428,2.314,1439,5.404,1596,2.974,1694,3.122,1695,4.172,1704,4.172,1705,5.003,1707,2.974,1710,5.69,1711,5.063,1712,2.568,1713,2.429,1714,3.327,1715,3.327,1716,5.003,1717,2.128,1718,3.327,1719,2.974,1720,3.327,1721,2.974,1722,2.974,1723,6.13,1724,2.128,1725,2.128,1726,3.327,1727,3.327,1728,2.429,1729,3.327,1730,2.974]],["t/117",[0,0.627,248,2.643,447,2.941,989,3.75,1039,4.377,1374,5.187,1439,5.141,1505,4.027,1608,5.626,1626,4.19,1705,6.3,1731,6.294,1732,6.095,1733,6.294,1734,7.896,1735,6.294,1736,6.294,1737,6.294,1738,6.294]],["t/119",[0,0.817,6,3.33,16,2.006,20,1.946,22,1.946,36,1.839,51,1.045,52,2.418,117,1.652,118,1.746,154,2.144,172,2.144,248,2.644,255,1.377,262,0.896,263,1.663,391,3.108,419,2.539,507,3.108,523,3.108,635,1.456,647,2.006,657,1.213,683,2.418,708,3.243,967,1.271,972,2.155,973,2.539,994,2.539,1016,1.663,1021,3.108,1150,2.418,1164,2.684,1168,2.144,1256,2.225,1284,1.946,1334,2.072,1353,2.006,1354,2.418,1357,1.589,1359,2.539,1385,2.072,1439,5.24,1446,2.539,1477,2.315,1588,2.865,1593,2.684,1660,2.865,1671,3.108,1695,2.865,1704,2.865,1705,6.521,1710,4.861,1739,3.477,1740,5.189,1741,3.477,1742,3.108,1743,2.865,1744,2.072,1745,3.477,1746,3.108,1747,3.477,1748,2.865,1749,2.684,1750,3.477,1751,3.477,1752,3.477,1753,3.477,1754,3.477,1755,3.477,1756,3.108,1757,3.477,1758,3.477,1759,3.477,1760,3.477]],["t/121",[50,2.839,55,2.929,97,3.008,98,2.839,99,3.956,168,1.776,217,1.632,293,2.839,447,1.817,466,3.204,467,3.475,520,2.704,708,2.929,786,1.456,979,2.588,981,2.114,982,2.114,992,2.588,998,3.001,1112,1.952,1143,4.687,1168,4.148,1266,3.475,1300,2.704,1425,4.678,1437,3.475,1439,4.41,1448,3.001,1553,1.456,1694,4.148,1697,5.085,1705,4.911,1706,3.204,1724,3.639,1725,2.487,1761,3.888,1762,5.085,1763,3.888,1764,3.888,1765,3.888,1766,5.688,1767,5.688,1768,3.888,1769,3.888,1770,6.726,1771,3.204,1772,3.888,1773,3.888,1774,3.888,1775,3.888,1776,3.888,1777,3.888,1778,3.888,1779,3.888,1780,3.888,1781,3.888,1782,3.888,1783,3.001,1784,3.888,1785,3.888,1786,3.204,1787,3.888,1788,3.888,1789,3.888,1790,3.888,1791,3.204,1792,3.888,1793,3.475,1794,2.704,1795,3.888]],["t/123",[0,0.67,16,3.879,70,4.061,117,2.121,141,4.908,181,3.555,182,2.612,984,2.942,1003,3.655,1502,3.072,1558,4.475,1786,5.54,1796,6.722,1797,5.476,1798,6.009]],["t/125",[0,0.69,16,3.995,79,3.662,117,2.185,153,2.795,635,1.925,1003,3.765,1315,5.056,1316,3.875,1558,4.61,1619,4.43,1799,6.924,1800,6.924,1801,5.056,1802,6.924]],["t/127",[16,3.056,30,2.578,36,2.801,39,1.231,51,1.061,70,2.904,79,2.801,86,2.455,87,1.976,117,2.387,153,1.425,181,1.867,191,2.177,253,2.35,262,2.047,656,1.976,657,1.231,661,2.455,979,2.35,984,1.545,1003,1.919,1004,5.262,1038,2.35,1077,1.976,1105,2.35,1276,2.037,1284,1.976,1286,2.578,1315,5.156,1382,1.578,1392,2.259,1402,2.259,1442,1.21,1505,2.259,1517,1.729,1518,2.35,1558,4.231,1559,2.35,1564,2.725,1566,2.909,1619,2.259,1640,5.237,1641,4.734,1642,4.42,1643,3.156,1644,2.909,1645,2.909,1646,2.909,1647,2.909,1648,2.909,1651,2.909,1771,2.909,1797,3.526,1803,3.531,1804,3.156,1805,2.578,1806,4.231,1807,3.683,1808,2.909,1809,5.296,1810,3.531,1811,3.531,1812,3.531,1813,3.156,1814,3.531,1815,2.578,1816,3.156,1817,3.531,1818,3.388,1819,2.578,1820,2.725,1821,2.909,1822,4.364,1823,3.266,1824,2.259]],["t/129",[36,3.382,51,1.605,87,1.996,97,1.886,143,2.058,168,1.63,181,1.886,207,2.058,223,1.886,231,2.939,248,2.685,255,1.412,262,1.958,377,2.753,472,3.553,473,4.119,526,2.753,530,1.312,588,2.282,637,3.189,656,1.996,657,1.244,703,2.481,803,2.375,875,2.939,1007,2.481,1123,3.943,1133,2.604,1182,2.753,1233,2.058,1296,6.155,1297,4.935,1302,2.604,1314,3.189,1315,3.897,1382,1.594,1402,2.282,1452,2.939,1454,2.753,1455,2.753,1594,3.189,1640,2.939,1644,2.939,1645,2.939,1646,2.939,1647,2.939,1648,2.939,1651,2.939,1717,2.282,1816,3.189,1818,4.541,1825,3.189,1826,2.282,1827,5.337,1828,3.567,1829,3.567,1830,3.567,1831,5.337,1832,4.398,1833,3.567,1834,4.771,1835,3.553,1836,5.337,1837,3.567,1838,3.567,1839,3.567,1840,2.604,1841,3.567,1842,3.567,1843,3.189,1844,6.394,1845,3.567,1846,3.567,1847,3.567,1848,3.189,1849,3.567,1850,3.567]],["t/131",[56,3.584,70,3.262,79,3.775,967,1.733,979,4.753,1685,4.402,1798,6.381,1819,5.212,1820,5.51,1823,4.402,1851,7.139,1852,5.883]],["t/133",[0,0.887,70,2.751,117,1.899,255,2.383,262,2.178,643,4.396,657,2.678,679,5.339,967,1.461,1357,2.751,1395,4.647,1397,3.712,1685,4.734,1853,5.382,1854,3.851,1855,4.961,1856,6.02,1857,6.02,1858,7.677,1859,6.02,1860,6.02]],["t/135",[0,0.656,70,3.441,79,2.524,117,1.506,141,5.5,175,3.684,262,2.269,337,3.485,476,1.965,643,3.485,657,1.665,967,1.159,984,2.88,1070,3.921,1105,3.178,1392,3.054,1603,3.178,1717,3.054,1744,2.844,1797,3.178,1801,3.485,1818,5.194,1819,3.485,1820,3.684,1821,3.934,1823,4.058,1852,3.934,1854,3.054,1861,4.267,1862,6.581,1863,4.267,1864,4.267,1865,4.774,1866,3.934,1867,4.267,1868,3.934,1869,4.774,1870,4.774,1871,4.774,1872,4.774,1873,4.267,1874,4.774,1875,4.774]],["t/137",[0,0.663,51,0.803,70,3.038,79,1.413,86,2.967,97,1.413,117,2.237,141,5.965,158,0.754,182,1.038,217,1.122,244,1.951,255,1.058,262,1.827,295,2.388,337,1.951,361,4.762,362,2.201,363,2.388,473,2.062,498,1.858,581,2.062,588,1.709,596,2.062,634,1.308,649,2.388,657,0.932,933,2.388,943,2.062,967,1.036,997,2.388,1004,1.858,1007,2.967,1030,2.388,1042,2.841,1097,1.778,1102,1.647,1105,1.778,1236,3.516,1237,1.951,1302,1.951,1347,3.516,1382,1.194,1389,3.115,1549,1.778,1579,1.951,1603,1.778,1744,2.542,1819,5.176,1820,4.112,1821,6.131,1822,3.516,1823,3.751,1824,1.709,1825,2.388,1853,2.388,1855,3.516,1863,6.337,1864,2.388,1873,2.388,1876,2.671,1877,2.671,1878,2.201,1879,2.671,1880,2.671,1881,2.671,1882,2.671,1883,2.671,1884,2.671,1885,2.671,1886,2.671,1887,2.671,1888,2.671,1889,2.671,1890,4.267,1891,2.671,1892,2.671,1893,2.671,1894,2.671,1895,2.671,1896,6.649,1897,2.671,1898,2.671,1899,2.671,1900,2.671,1901,2.671,1902,2.671,1903,2.671,1904,2.671,1905,2.388,1906,2.388,1907,2.671,1908,4.267,1909,2.671,1910,2.671,1911,2.062,1912,2.671,1913,2.671,1914,4.267,1915,2.671,1916,2.671,1917,2.671,1918,2.388,1919,2.201,1920,2.671,1921,2.671,1922,2.671]],["t/139",[0,0.657,36,3.487,634,3.23,860,5.2,967,1.6,1033,4.219,1040,3.23,1069,2.714,1076,3.929,1079,5.09,1166,5.012,1378,4.815,1923,6.594,1924,5.434,1925,6.594,1926,6.594,1927,5.09,1928,4.586]],["t/141",[0,0.693,79,1.812,90,2.644,105,4.628,242,2.823,253,2.281,262,2.375,291,2.192,474,2.823,634,2.536,657,1.806,686,4.837,687,2.501,723,2.823,827,2.644,928,2.823,967,0.831,1016,2.476,1069,2.131,1131,2.644,1151,5.579,1168,2.112,1169,4.557,1346,3.192,1356,2.281,1357,1.565,1397,2.112,1414,3.062,1459,2.501,1471,3.062,1505,2.192,1529,3.062,1552,2.644,1566,5.142,1567,4.817,1762,3.062,1924,2.823,1929,3.426,1930,2.644,1931,3.426,1932,5.177,1933,2.501,1934,3.426,1935,3.426,1936,3.426,1937,3.426,1938,3.426,1939,2.823,1940,3.426,1941,3.426,1942,2.823,1943,2.823,1944,2.823,1945,3.426,1946,5.177,1947,5.177,1948,3.426,1949,3.426,1950,2.823,1951,5.177,1952,3.426,1953,3.426,1954,3.426,1955,5.177,1956,3.426,1957,3.426,1958,3.426,1959,3.426,1960,3.426,1961,3.426,1962,3.426,1963,3.426,1964,3.426,1965,3.426,1966,3.426,1967,3.426,1968,3.426,1969,3.062,1970,3.426]],["t/143",[0,0.719,634,3.533,967,1.751,1033,4.615,1079,5.567,1166,4.448,1392,4.615,1928,5.017,1971,6.448,1972,5.944,1973,6.448]],["t/145",[36,3.555,198,4.301,740,4.006,1567,5.189,1614,5.189,1928,5.72,1930,5.189,1944,5.54,1974,6.009,1975,6.009,1976,6.722,1977,6.722,1978,6.722,1979,6.722,1980,6.722,1981,6.722,1982,6.722]],["t/147",[0,0.676,64,6.068,200,4.721,740,4.045,860,5.293,869,5.24,967,1.648,972,3.405,1020,3.408,1037,5.594,1524,4.519,1712,5.24,1930,5.24,1983,6.788,1984,6.788]],["t/149",[95,4.861,158,1.88,686,4.63,728,5.486,972,2.74,1077,3.726,1093,5.486,1172,4.861,1305,5.951,1561,5.486,1601,4.432,1602,5.951,1605,3.841,1928,4.63,1944,5.486,1985,5.97,1986,6.658,1987,6.658]],["t/151",[20,3.726,36,3.521,37,5.951,687,4.861,860,4.259,972,2.74,973,4.861,1292,4.259,1614,5.139,1703,5.951,1988,6.658,1989,6.658,1990,6.658,1991,6.658,1992,6.658,1993,5.139,1994,6.658,1995,6.658,1996,6.658]],["t/153",[106,6.009,250,6.009,548,3.655,686,4.675,860,4.301,972,2.767,992,4.475,1717,4.301,1927,5.189,1928,4.675,1997,6.722,1998,6.722,1999,6.722,2000,5.54,2001,6.722,2002,6.722,2003,6.722,2004,6.722]],["t/155",[0,0.595,158,1.685,548,4.151,686,4.151,860,4.884,967,1.448,972,2.456,992,3.973,1016,2.854,1020,2.996,1040,2.923,1079,4.606,1166,4.708,1196,4.606,1382,2.668,1553,2.234,1603,3.973,1614,4.606,1927,4.606,1928,4.151,1972,4.918,1973,5.335,1974,5.335,2005,5.968,2006,5.968,2007,5.968,2008,5.968,2009,5.968]],["t/158",[0,0.572,10,2.312,11,2.468,12,1.142,13,1.467,20,1.676,22,1.676,23,2.187,33,3.248,39,2.261,51,0.901,55,1.543,70,1.369,84,1.4,101,1.916,102,3.766,113,2.468,115,2.083,119,1.994,124,2.88,143,1.728,154,1.847,168,1.369,189,3.848,191,1.847,216,1.543,217,1.961,243,1.676,248,1.258,253,1.994,262,0.772,263,1.432,419,4.733,447,1.4,472,1.994,520,2.083,530,1.717,556,2.468,560,2.468,571,2.083,608,2.468,664,1.785,686,2.083,687,2.187,703,2.083,860,1.916,867,3.605,869,2.312,873,4.496,988,3.605,994,2.187,1096,1.628,1112,1.504,1123,1.847,1149,2.312,1150,2.083,1210,2.312,1261,2.694,1304,2.468,1322,2.187,1367,2.678,1413,2.312,1417,3.992,1418,2.312,1425,2.083,1429,1.994,1440,2.678,1524,1.994,1525,1.994,1603,1.994,1669,2.468,1712,2.312,1719,2.678,1919,2.468,1969,2.678,1975,2.678,2010,2.678,2011,2.678,2012,2.995,2013,4.67,2014,4.67,2015,2.995,2016,2.995,2017,2.995,2018,4.175,2019,2.678,2020,2.678,2021,2.995,2022,2.995,2023,2.995,2024,2.995,2025,4.67,2026,5.342,2027,2.995,2028,2.995,2029,2.995,2030,2.678,2031,2.995,2032,2.995,2033,2.995,2034,2.995,2035,2.678,2036,2.995,2037,2.678]],["t/160",[0,0.633,13,1.197,20,1.368,33,1.7,39,2.217,52,1.7,55,1.259,84,1.142,87,1.368,102,2.859,115,1.7,116,1.887,117,1.253,118,1.994,125,1.564,143,1.411,147,2.901,184,2.015,189,2.015,216,2.046,217,2.669,220,1.564,225,1.564,248,2.107,255,0.968,262,2.095,263,2.763,291,1.564,353,1.785,451,1.887,474,4.761,520,1.7,526,3.066,527,1.411,530,1.845,548,1.329,560,2.015,566,1.7,612,3.551,656,2.223,657,1.75,866,2.185,867,1.887,873,1.564,950,2.015,952,2.015,968,1.887,972,1.006,1016,1.9,1097,1.628,1123,1.508,1134,2.015,1136,2.901,1137,1.7,1139,1.887,1142,1.564,1144,3.551,1168,1.508,1172,1.785,1257,2.015,1261,2.292,1273,1.368,1300,4.42,1304,2.015,1322,1.785,1357,1.117,1397,1.508,1403,1.293,1406,2.901,1417,2.763,1418,1.887,1425,1.7,1429,1.628,1459,1.785,1468,2.015,1476,2.185,1477,1.628,1561,2.015,1564,3.066,1603,1.628,1605,1.411,1606,2.185,1625,2.015,1653,1.887,1669,2.015,1685,1.508,1713,1.785,1791,2.015,1807,1.7,1826,1.564,1840,1.785,1854,2.541,1919,2.015,2010,2.185,2011,2.185,2018,3.551,2026,2.015,2030,2.185,2035,2.185,2038,2.185,2039,5.778,2040,2.445,2041,2.901,2042,2.445,2043,3.274,2044,3.551,2045,2.445,2046,5.018,2047,2.445,2048,2.185,2049,2.445,2050,2.445,2051,2.445,2052,2.445,2053,2.185,2054,2.185,2055,2.445,2056,2.185,2057,2.445,2058,2.185,2059,2.445,2060,2.445,2061,3.551,2062,2.445,2063,2.445,2064,2.445,2065,2.445,2066,2.445,2067,2.445,2068,1.887]],["t/162",[0,0.67,346,4.006,530,2.472,635,2.287,740,4.006,864,6.009,967,1.632,1273,3.762,1393,2.823,1443,2.612,1502,3.072,1518,4.475,1657,2.266,1716,4.908,1971,6.009,2069,6.009,2070,6.009]],["t/164",[479,5.234,1016,3.038,1142,4.064,1502,3.959,1512,4.903,1513,5.081,1515,6.13,1518,5.768,1536,5.678,1771,5.234,1783,4.903,2071,6.352,2072,6.352,2073,5.678,2074,5.678,2075,6.352,2076,6.352,2077,6.352]],["t/166",[532,5.332,552,3.99,691,4.725,981,4.368,982,4.368,1439,3.856,1502,3.671,1518,5.349,1694,5.388,1724,4.14,1725,5.14,2078,6.471,2079,6.471,2080,6.471,2081,6.471]],["t/168",[0,0.778,16,3.567,19,5.526,26,4.771,158,1.746,967,1.5,969,5.094,984,2.705,1016,2.956,1024,4.115,1035,4.771,1040,3.028,1066,3.683,1129,4.514,1513,3.955,1518,4.115,1605,3.567,1660,5.094,2082,5.094,2083,5.094,2084,3.361,2085,4.514,2086,4.771,2087,4.771,2088,6.182,2089,4.771]],["t/170",[0,0.85,530,2.625,635,1.985,967,2.07,1020,3.584,1273,3.995,1442,2.448,1443,2.773,1502,3.262,1513,4.567]],["t/172",[530,2.652,548,3.922,635,2.386,1393,3.029,1443,2.802,1517,3.533,1553,2.701,1657,2.432,2090,5.017,2091,4.802]],["t/174",[0,0.704,530,2.598,635,1.965,936,4.914,967,1.715,1393,2.967,1442,2.423,1443,2.745,1553,2.645,1657,2.382,2092,5.159,2093,4.914,2094,4.077]],["t/176",[0,0.89,51,2.321,158,2.18,182,2.359,281,2.715,618,3.504,647,3.504,786,2.274,967,1.874,1393,2.55,1442,2.91,1444,4.454,1517,3.781,1521,4.043,1553,2.274,1657,2.047,2095,3.212,2096,3.049,2097,5.004]],["t/178",[0,0.905,51,1.91,131,4.638,366,4.418,476,2.614,635,2.208,657,2.216,826,4.638,967,1.927,1020,3.189,1075,4.064,1215,2.779,1233,3.665,1553,2.378,1657,2.141,2095,3.359,2098,4.418,2099,5.234,2100,5.234]],["t/180",[0,0.868,51,2.222,158,1.602,182,2.204,281,2.537,476,2.335,597,3.778,635,1.578,967,1.794,1215,3.596,1442,2.534,1444,4.264,1517,3.619,1553,2.124,1657,1.913,2094,4.742,2095,3.001,2096,2.848,2098,3.946,2101,5.139,2102,3.946,2103,4.676,2104,4.38,2105,3.946]],["t/182",[55,3.241,153,2.54,182,2.445,505,4.596,530,2.314,565,4.858,635,2.399,786,2.356,1077,3.523,1215,3.776,1233,3.632,1316,3.523,1393,2.643,1443,2.445,1521,4.19,1657,2.122,2094,3.632,2096,3.16,2106,5.187,2107,5.187,2108,4.596]],["t/184",[51,1.565,153,2.101,168,3.189,346,3.101,587,3.8,635,2.34,708,2.68,1152,3.62,1215,3.682,1427,5.096,1442,2.7,1513,3.33,1528,5.75,1744,3.101,1783,5.387,2073,4.652,2074,4.652,2090,3.62,2101,3.62,2102,3.62,2105,3.62,2109,5.205,2110,5.205,2111,6.934,2112,6.239,2113,4.652,2114,5.205,2115,5.205,2116,5.205,2117,4.017,2118,4.289]],["t/186",[0,0.547,51,1.113,53,2.574,158,1.045,175,2.856,229,2.574,239,3.308,262,2.156,281,1.654,293,2.702,514,3.308,635,2.01,786,2.054,1042,2.464,1102,2.282,1142,3.509,1152,4.545,1215,1.619,1295,3.049,1366,3.308,1442,3.009,1443,1.438,1444,3.771,1528,4.005,1559,3.652,1657,1.247,1680,2.856,1693,2.856,1717,3.509,1732,2.856,1783,5.044,2108,2.702,2111,6.36,2112,4.903,2113,4.903,2119,3.701,2120,2.574,2121,3.701,2122,3.701,2123,3.701,2124,3.701,2125,3.701,2126,3.308,2127,3.701,2128,3.701,2129,3.701,2130,7.228,2131,3.701,2132,5.485,2133,5.485,2134,3.701,2135,3.701,2136,6.536,2137,3.701,2138,6.536,2139,5.485,2140,3.701]],["t/188",[0,0.663,39,2.322,158,2.309,186,4.259,281,2.976,618,3.841,967,1.984,1040,3.261,1069,2.74,1076,3.967,1276,3.841,1284,3.726,1344,4.105,1502,3.042,1626,4.432,2096,3.342,2141,4.861]],["t/190",[0,0.734,12,2.809,117,2.742,1024,4.905,1175,4.905,1334,4.39,1416,5.123,1834,6.585]],["t/192",[0,0.831,12,2.876,39,1.412,61,3.124,99,2.815,102,2.459,117,2.171,147,2.955,153,1.633,216,2.084,217,1.699,248,2.459,255,2.319,262,2.27,263,3.291,447,1.891,611,2.694,656,3.852,657,2.043,661,2.815,1069,1.666,1112,2.032,1123,3.611,1137,2.815,1164,3.124,1276,2.335,1300,2.815,1357,2.676,1402,3.747,1403,3.097,1466,3.618,1505,2.589,1525,3.899,1547,3.618,1557,3.124,1625,3.335,1854,3.747,2041,2.955,2043,3.335,2044,3.618,2056,3.618,2058,3.618,2142,4.047,2143,4.047,2144,4.52,2145,4.52,2146,4.047,2147,4.047,2148,4.826,2149,4.047,2150,3.335,2151,4.047]],["t/194",[16,4.162,656,4.037,978,5.567,985,4.615,1111,5.017,1683,5.567,1854,4.615,2152,6.448,2153,8.582,2154,6.448]],["t/196",[0,0.893,12,2.96,84,2.863,102,2.573,117,1.933,154,3.778,221,4.474,262,2.196,566,4.261,657,2.137,1123,3.778,1134,5.049,1136,4.474,1357,2.799,1403,3.24,1683,4.729,2041,4.474,2144,4.729,2145,4.729,2155,5.477,2156,5.477,2157,6.127]],["t/198",[0,0.729,12,1.725,39,1.578,51,1.36,84,2.114,119,3.012,153,1.826,216,2.33,217,1.899,262,2.375,263,2.163,433,2.61,566,3.146,656,2.532,657,1.578,1111,3.146,1112,2.271,1136,3.303,1137,3.146,1146,3.303,1256,2.894,1261,4.577,1276,2.61,1302,3.303,1334,2.695,1357,2.067,1403,3.353,1413,3.492,1502,2.067,1525,5.281,1560,4.221,1570,5.649,1652,3.728,1658,3.728,1689,4.044,1744,2.695,1854,2.894,2144,3.492,2145,3.492,2152,4.044,2156,4.044,2158,4.524,2159,4.524,2160,4.524,2161,4.524,2162,4.524,2163,4.044,2164,4.524]],["t/200",[0,0.836,6,2.424,7,3.188,12,1.748,20,2.565,33,3.188,53,3.188,84,2.142,85,3.347,102,2.687,117,2.019,118,2.301,133,3.188,158,2.082,181,2.424,213,3.052,216,2.36,217,1.925,221,3.347,262,1.899,317,3.538,656,3.581,657,1.599,661,3.188,802,3.538,873,4.093,878,3.538,1111,3.188,1114,2.731,1232,4.097,1357,2.094,1403,2.424,1413,3.538,1417,3.188,1418,3.538,1429,3.052,1431,3.777,1680,3.538,1683,3.538,1744,2.731,1840,3.347,1972,3.777,2037,4.097,2041,3.347,2144,3.538,2145,3.538,2154,5.72,2155,4.097,2163,4.097,2165,4.584,2166,4.584,2167,4.584,2168,4.584]],["t/203",[0,0.856,51,1.875,95,4.554,115,4.338,154,3.846,253,4.152,255,3.108,262,2.023,263,3.755,527,3.599,657,2.176,1233,3.599,1234,3.599,1261,3.599,1357,2.85,1403,3.298,1479,5.576,1654,5.576,1710,4.814,1854,3.99,2169,6.237]],["t/205",[0,0.853,99,5.43,262,2.389,552,3.812,657,2.156,1114,4.652,1142,3.955,1357,2.824,1378,6.248,2148,5.094,2170,7.807,2171,6.182,2172,5.526,2173,5.526,2174,6.182,2175,5.526]],["t/207",[0,0.754,22,2.278,53,2.831,69,2.426,85,2.972,102,1.709,115,4.09,117,2.179,118,2.044,119,2.71,125,2.604,158,1.15,181,2.153,186,2.604,213,2.71,238,3.355,259,4.54,262,2.067,263,1.947,291,2.604,397,3.355,498,2.831,634,1.994,643,2.972,657,2.409,723,3.355,873,2.604,953,2.972,1003,2.213,1150,2.831,1163,3.355,1166,2.51,1168,2.51,1316,2.278,1349,3.639,1357,1.86,1396,3.355,1397,2.51,1398,3.355,1403,2.153,1423,3.639,1431,4.847,1525,2.71,1563,3.639,1595,3.142,1601,2.71,1620,3.639,1653,3.142,1658,3.355,1685,2.51,1721,3.639,1744,2.426,1854,2.604,2000,3.355,2026,3.355,2043,3.355,2048,3.639,2053,3.639,2054,3.639,2068,3.142,2176,4.071,2177,3.355,2178,3.355,2179,4.071,2180,2.972,2181,4.071,2182,4.071,2183,4.071,2184,4.071,2185,4.071,2186,4.071]],["t/209",[0,0.845,530,2.598,635,1.965,967,2.057,981,3.841,982,3.841,1020,3.547,1273,3.954,1442,2.423,1443,2.745,1502,3.228]],["t/211",[530,2.625,548,3.881,635,2.372,981,3.881,982,3.881,1443,2.773,1517,3.496,1553,2.673,1657,2.406,2090,4.965,2091,4.753]],["t/213",[0,0.697,530,2.572,635,1.945,936,4.864,967,1.698,981,3.803,982,3.803,1442,2.398,1443,2.717,1553,2.619,1657,2.358,2092,5.107,2093,4.864,2094,4.036]],["t/215",[0,0.867,51,1.927,158,1.81,281,2.866,618,3.699,786,2.4,967,1.939,1215,2.805,1292,4.101,1442,2.739,1444,3.699,1517,3.14,1521,4.268,1553,2.4,1657,2.693,1794,4.459,2095,3.39,2187,5.731]],["t/217",[220,4.386,786,3.116,972,2.822,981,3.727,982,3.727,1215,3,1657,2.311,1794,4.768,2083,5.649,2084,4.873,2188,4.564,2189,6.128,2190,6.128]],["t/219",[153,2.942,255,2.886,708,3.754,981,3.963,982,3.963,1331,5.069,2120,6.006,2191,5.626,2192,6.516]],["t/221",[0,0.663,39,2.322,158,2.309,186,4.259,281,2.976,618,3.841,967,1.984,1040,3.261,1069,2.74,1076,3.967,1276,3.841,1284,3.726,1344,4.105,1502,3.042,1626,4.432,2096,3.342,2141,4.861]],["t/223",[0,0.84,530,2.572,635,1.945,967,2.045,1020,3.511,1273,3.914,1442,2.398,1443,2.717,1502,3.196,1694,4.313,1724,4.475,1725,4.475]],["t/225",[530,2.625,548,3.881,635,2.372,1443,2.773,1517,3.496,1553,2.673,1657,2.406,1724,4.567,1725,4.567,2090,4.965,2091,4.753]],["t/227",[0,0.697,530,2.572,635,1.945,936,4.864,967,1.698,1442,2.398,1443,2.717,1553,2.619,1657,2.358,1724,4.475,1725,4.475,2092,5.107,2093,4.864,2094,4.036]],["t/229",[0,0.867,51,1.927,158,1.81,281,2.866,618,3.699,786,2.4,967,1.939,1215,2.805,1292,4.101,1442,2.739,1444,3.699,1517,3.14,1521,4.268,1553,2.4,1657,2.693,1794,4.459,2095,3.39,2187,5.731]],["t/231",[220,4.386,786,3.116,972,2.822,1215,3,1657,2.311,1724,4.386,1725,4.386,1794,4.768,2083,5.649,2084,4.873,2188,4.564,2189,6.128,2190,6.128]],["t/233",[153,2.942,255,2.886,708,3.754,1331,5.069,1724,4.663,1725,4.663,2120,6.006,2191,5.626,2192,6.516]],["t/235",[0,0.663,39,2.322,158,2.309,186,4.259,281,2.976,618,3.841,967,1.984,1040,3.261,1069,2.74,1076,3.967,1276,3.841,1284,3.726,1344,4.105,1502,3.042,1626,4.432,2096,3.342,2141,4.861]],["t/238",[0,0.725,36,2.929,51,2.593,185,5.311,198,3.543,299,4.274,635,1.54,786,2.073,884,4.951,967,1.971,1102,3.415,1246,4.564,1286,4.044,1303,4.951,1439,3.3,1657,1.867,1694,3.415,1819,4.044,1823,3.415,1824,4.653,1918,4.951,1927,4.274,1933,4.044,2061,4.951,2096,2.78,2180,4.044,2193,5.538,2194,7.273,2195,4.951,2196,5.538,2197,5.538]],["t/240",[0,0.825,70,2.636,86,4.012,87,3.229,299,4.453,498,4.012,545,4.754,635,1.604,823,5.157,826,4.212,967,1.813,1033,3.691,1102,3.557,1215,2.524,1256,3.691,1392,3.691,1442,2.561,1444,3.329,1657,1.945,1685,5.403,1717,3.691,1801,5.454,1861,5.157,2180,4.212,2198,5.157,2199,5.769,2200,4.754]],["t/242",[0,0.519,70,3.189,182,2.711,527,3.003,652,3.8,937,5.387,943,4.017,967,1.694,1003,2.83,1069,2.142,1072,4.652,1102,3.209,1182,4.017,1185,4.652,1256,3.33,1273,2.913,1442,2.393,1455,5.387,1574,4.652,1685,4.856,1746,4.652,1822,5.752,1905,4.652,1911,4.017,2069,4.652,2201,6.98,2202,7.875,2203,5.205,2204,5.205,2205,5.205,2206,5.205,2207,5.205,2208,5.205,2209,5.205,2210,5.205,2211,4.652]],["t/244",[51,2.061,222,6.128,299,5.292,527,3.956,545,5.649,588,4.386,643,5.006,820,6.128,1442,2.351,1518,4.564,1657,2.311,1717,4.386,1824,5.325,2212,6.856,2213,6.856]],["t/246",[0,0.85,530,2.625,635,1.985,967,2.07,1020,3.584,1273,3.995,1442,2.448,1443,2.773,1502,3.262,1512,5.51]],["t/248",[530,2.652,548,3.922,635,2.386,1393,3.029,1443,2.802,1517,3.533,1553,2.701,1657,2.432,2090,5.017,2091,4.802]],["t/250",[0,0.704,530,2.598,635,1.965,936,4.914,967,1.715,1393,2.967,1442,2.423,1443,2.745,1553,2.645,1657,2.382,2092,5.159,2093,4.914,2094,4.077]],["t/252",[0,0.89,51,2.321,158,2.18,182,2.359,281,2.715,618,3.504,647,3.504,786,2.274,967,1.874,1393,2.55,1442,2.91,1444,4.454,1517,3.781,1521,4.043,1553,2.274,1657,2.047,2095,3.212,2096,3.049,2097,5.004]],["t/254",[0,0.905,51,1.91,131,4.638,366,4.418,476,2.614,635,2.208,657,2.216,826,4.638,967,1.927,1020,3.189,1075,4.064,1215,2.779,1233,3.665,1553,2.378,1657,2.141,2095,3.359,2098,4.418,2099,5.234,2100,5.234]],["t/256",[0,0.868,51,2.222,158,1.602,182,2.204,281,2.537,476,2.335,597,3.778,635,1.578,967,1.794,1215,3.596,1442,2.534,1444,4.264,1517,3.619,1553,2.124,1657,1.913,2094,4.742,2095,3.001,2096,2.848,2098,3.946,2101,5.139,2102,3.946,2103,4.676,2104,4.38,2105,3.946]],["t/258",[55,3.241,153,2.54,182,2.445,505,4.596,530,2.314,565,4.858,635,2.399,786,2.356,1077,3.523,1215,3.776,1233,3.632,1316,3.523,1393,2.643,1443,2.445,1521,4.19,1657,2.122,2094,3.632,2096,3.16,2106,5.187,2107,5.187,2108,4.596]],["t/260",[51,1.875,587,4.554,635,2.638,708,3.212,786,2.335,1215,3.76,1442,2.692,1528,4.554,1693,4.814,2091,4.152,2101,4.338,2102,4.338,2105,4.338,2118,5.14,2214,5.576,2215,5.576,2216,6.237,2217,6.237]],["t/262",[0,0.663,39,2.322,158,2.309,186,4.259,281,2.976,618,3.841,967,1.984,1040,3.261,1069,2.74,1076,3.967,1276,3.841,1284,3.726,1344,4.105,1502,3.042,1626,4.432,2096,3.342,2141,4.861]],["t/264",[0,0.719,12,2.751,128,4.448,634,3.533,980,5.267,984,3.156,1075,4.615,1116,6.448,2085,5.267,2218,6.448,2219,6.448]],["t/266",[0,0.5,12,2.947,125,3.209,133,3.488,153,2.024,158,1.416,178,4.133,198,3.209,433,2.894,646,4.484,937,3.871,965,2.399,984,3.382,998,3.871,1038,3.339,1039,4.735,1075,3.209,1155,4.133,1215,2.195,1346,3.093,1381,3.488,1586,3.662,1595,3.871,1642,3.488,1716,3.662,1933,3.662,2085,5.643,2093,3.488,2108,3.662,2218,6.909,2219,4.484,2220,5.016,2221,5.016,2222,5.016,2223,5.016,2224,4.484,2225,6.086,2226,6.808,2227,4.484,2228,4.133,2229,5.016,2230,4.133]],["t/268",[12,2.751,1066,4.298,1075,4.615,1553,2.701,1576,5.944,1577,4.802,1586,5.267,1622,5.944,1748,5.944,2231,7.213,2232,7.213]],["t/270",[79,2.929,187,4.689,202,4.044,401,4.564,466,4.564,752,4.951,984,3.183,1003,3.011,1076,3.3,1256,3.543,1553,2.073,1867,4.951,2038,4.951,2085,6.297,2233,5.538,2234,7.273,2235,5.538,2236,5.538,2237,5.538,2238,5.538,2239,7.273,2240,7.273,2241,7.273,2242,8.625,2243,5.538,2244,5.538]],["t/272",[0,0.616,168,2.824,172,3.812,182,2.401,200,4.299,243,3.46,634,3.028,1000,4.771,1003,3.361,1159,5.526,1259,5.094,1331,5.43,1332,5.526,1333,4.771,1486,5.526,1616,5.526,1732,4.771,1749,4.771,2085,4.514,2245,7.807,2246,6.182,2247,6.182,2248,6.182,2249,5.526,2250,6.182]],["t/274",[0,0.85,530,2.625,635,1.985,967,2.07,1020,3.584,1273,3.995,1442,2.448,1443,2.773,1502,3.262,1515,5.51]],["t/276",[530,2.652,548,3.922,635,2.386,1393,3.029,1443,2.802,1517,3.533,1553,2.701,1657,2.432,2090,5.017,2091,4.802]],["t/278",[0,0.704,530,2.598,635,1.965,936,4.914,967,1.715,1393,2.967,1442,2.423,1443,2.745,1553,2.645,1657,2.382,2092,5.159,2093,4.914,2094,4.077]],["t/280",[0,0.887,51,2.308,158,2.168,182,2.339,281,2.691,618,3.473,647,3.473,786,2.254,967,1.863,1393,2.528,1442,2.898,1444,4.429,1517,3.76,1553,2.254,1657,2.029,2095,4.06,2096,3.022,2097,4.961,2228,4.961]],["t/282",[0,0.829,51,2.061,131,5.006,476,2.822,635,2.315,657,2.391,967,1.664,1215,3,1233,3.956,1553,2.567,1657,2.311,2098,4.768,2099,5.649,2100,5.649]],["t/284",[0,0.868,51,2.222,158,1.602,182,2.204,281,2.537,476,2.335,597,3.778,635,1.578,967,1.794,1215,3.596,1442,2.534,1444,4.264,1517,3.619,1553,2.124,1657,1.913,2094,4.742,2095,3.001,2096,2.848,2098,3.946,2101,5.139,2102,3.946,2103,4.676,2104,4.38,2105,3.946]],["t/286",[55,3.212,153,2.517,182,2.423,505,4.554,530,2.293,565,4.814,635,2.389,786,2.335,1077,3.491,1215,3.76,1233,3.599,1316,3.491,1393,2.619,1443,2.423,1657,2.103,2094,3.599,2095,3.298,2096,3.131,2106,5.14,2107,5.14,2108,4.554,2228,5.14]],["t/288",[587,4.861,635,2.566,708,3.429,786,2.493,1215,3.872,1528,4.861,1693,5.139,2091,4.432,2101,4.63,2102,4.63,2105,4.63,2118,5.486,2214,5.951,2215,5.951]],["t/290",[0,0.663,39,2.322,158,2.309,186,4.259,281,2.976,618,3.841,967,1.984,1040,3.261,1069,2.74,1076,3.967,1276,3.841,1284,3.726,1344,4.105,1502,3.042,1626,4.432,2096,3.342,2141,4.861]],["t/293",[0,0.794,12,3.037,51,2.131,128,3.284,247,4.388,262,1.826,263,3.389,476,2.192,477,4.388,656,3.966,657,1.857,683,3.703,1175,3.545,1234,4.089,1357,2.433,1380,3.545,1382,2.38,1397,3.284,1524,3.545,1584,4.388,2087,4.11,2177,4.388,2178,4.388,2180,3.888,2211,4.76,2251,5.325,2252,5.325,2253,8.492,2254,5.325,2255,5.325,2256,5.325,2257,4.76,2258,3.888]],["t/295",[0,0.93,12,3.398,51,1.639,158,1.539,182,2.117,262,2.209,527,3.145,657,2.511,1040,2.67,1175,4.792,1256,3.487,1357,3.289,1380,3.629,1560,4.792,1840,3.98,2020,4.872,2087,5.555,2180,3.98,2259,5.451,2260,5.451,2261,5.451,2262,5.451,2263,5.451,2264,5.451]],["t/297",[0,0.828,8,5.319,18,3.689,99,5.395,182,1.963,262,2.239,552,3.116,580,3.514,657,1.762,1101,4.163,1114,4.622,1142,4.377,1175,3.364,1357,2.309,1378,6.07,1504,4.163,1505,3.232,1560,3.364,1717,3.232,1786,4.163,1813,4.517,2087,3.9,2148,4.163,2172,4.517,2173,4.517,2175,4.517,2265,7.757,2266,5.053,2267,4.517,2268,5.053,2269,5.053,2270,5.053]],["t/299",[0,0.527,8,5.416,12,2.689,55,2.721,67,3.049,79,2.794,104,3.518,117,1.667,172,3.258,235,4.724,262,1.817,374,3.858,527,3.049,657,1.843,664,3.149,681,4.354,788,4.354,870,4.724,1175,3.518,1268,4.724,1382,2.362,1454,4.078,1462,4.724,1744,3.149,2271,7.051,2272,7.051,2273,7.935,2274,5.284,2275,5.284,2276,5.284,2277,6.303,2278,4.724,2279,5.284,2280,5.284,2281,5.284,2282,5.284]],["t/301",[0,0.59,12,2.895,70,2.704,91,4.32,262,2.279,527,3.414,657,2.064,724,4.32,983,4.876,1380,3.939,1382,2.645,2277,6.787,2278,5.289,2283,5.917,2284,5.917,2285,5.917,2286,5.917,2287,7.593,2288,5.917,2289,5.917,2290,5.917,2291,5.917,2292,5.917,2293,5.917,2294,4.32,2295,5.917]],["t/303",[0,0.651,8,4.179,56,3.279,433,3.769,580,4.543,634,3.199,652,4.769,965,3.124,1016,3.124,1039,4.543,1066,3.892,1359,4.769,1503,5.839,1513,4.179,1605,3.769,1619,4.179,2000,5.383,2126,5.839,2230,5.383,2296,6.532,2297,4.769]],["t/305",[0,0.69,172,4.27,207,3.995,965,3.311,984,3.03,1003,3.765,1069,2.85,1513,4.43,1642,4.816,1805,5.056,1826,4.43,2298,6.924,2299,5.344,2300,6.19,2301,6.924]],["t/307",[0,0.547,8,5.176,20,3.075,70,3.306,955,4.012,984,2.404,1016,4.112,1037,4.527,1038,3.658,1066,4.311,1070,3.274,1071,5.283,1075,3.515,1100,4.241,1236,4.527,1359,4.012,1374,4.527,1558,3.658,1559,3.658,1560,3.658,1605,4.175,1619,3.515,1622,4.527,1716,4.012,1722,4.911,1906,4.911,2230,4.527,2302,5.494,2303,5.494,2304,5.494,2305,4.911,2306,5.494]],["t/311",[980,4.638,995,4.903,1016,3.798,1066,5.163,1331,4.418,1601,4.229,1605,3.665,1748,5.234,1749,4.903,2084,3.453,2089,4.903,2307,7.099,2308,7.099,2309,6.352,2310,5.678,2311,5.234,2312,6.352,2313,5.678,2314,5.678]],["t/313",[158,1.761,447,2.915,786,2.335,1401,5.227,1477,4.152,1506,5.14,1749,4.814,1756,5.576,2084,5.159,2096,3.131,2311,7.431,2315,6.237,2316,7.852,2317,5.576,2318,6.237,2319,6.237]],["t/315",[16,4.662,51,1.964,67,3.769,70,2.984,447,3.052,529,4.543,786,2.445,1273,3.656,1794,4.543,2084,4.77,2311,7.23,2320,6.532,2321,6.532,2322,8.081,2323,5.042]],["t/317",[773,3.821,786,2.057,1039,5.032,1127,3.515,1234,3.17,1346,3.388,1379,4.527,1381,5.032,1382,3.234,1389,4.012,1524,3.658,1716,4.012,2084,3.934,2111,4.527,2224,4.911,2313,7.987,2324,8.598,2325,5.494,2326,5.494,2327,5.494,2328,5.494,2329,5.494,2330,4.911,2331,5.494,2332,7.235,2333,5.494,2334,5.494,2335,5.494,2336,5.494]],["t/319",[6,3.298,158,1.761,248,2.619,447,2.915,548,3.391,570,6.47,708,3.212,1359,4.554,1401,4.152,1442,2.139,1506,5.14,1551,5.576,1680,4.814,1743,5.14,2314,7.681,2317,5.576,2323,4.814,2337,6.237,2338,6.237,2339,7.852,2340,7.852]],["t/321",[153,2.29,182,2.204,262,1.462,635,1.578,708,2.922,786,2.124,995,4.38,1016,3.93,1066,4.403,1152,3.946,1261,3.274,1302,4.143,1316,3.176,1329,5.072,1330,5.072,1442,2.534,1443,2.204,1584,4.676,1605,3.274,2225,5.072,2227,5.072,2307,5.072,2308,5.072,2310,5.072,2341,5.674,2342,7.39,2343,5.674,2344,5.674,2345,5.674,2346,5.674,2347,5.674,2348,5.674]],["t/323",[56,3.698,153,2.973,255,2.917,268,5.686,965,3.523,966,3.794,1040,3.608,1585,5.379,2082,6.071]],["t/325",[6,2.653,39,1.75,56,2.518,168,2.292,262,1.292,433,2.894,611,3.339,924,4.133,965,2.399,966,3.506,1040,2.457,1049,3.339,1084,4.133,1096,2.727,1427,3.662,1428,3.488,1432,3.209,1549,3.339,1550,3.488,1579,4.971,1581,3.488,1585,3.662,1609,3.871,1627,5.255,1878,4.133,2086,3.871,2300,4.484,2349,5.016,2350,5.016,2351,4.484,2352,5.016,2353,5.016,2354,5.61,2355,4.484,2356,3.871,2357,4.133,2358,4.484,2359,4.133,2360,4.133,2361,4.484,2362,5.016,2363,5.61,2364,4.484,2365,4.484,2366,4.484,2367,4.484,2368,5.016,2369,4.133]],["t/327",[58,4.38,120,4.38,217,2.383,262,1.462,843,5.072,894,5.072,972,2.335,985,3.63,989,3.381,1058,4.676,1094,3.778,1097,3.778,1127,4.728,1264,4.143,1286,4.143,1362,4.676,1577,3.778,1601,3.778,2370,6.09,2371,7.39,2372,6.606,2373,5.072,2374,5.072,2375,5.072,2376,4.38,2377,5.072,2378,5.072,2379,5.072,2380,5.072,2381,5.072,2382,5.674,2383,4.676,2384,5.674]],["t/329",[12,2.316,117,1.916,217,2.55,255,2.404,262,1.565,1013,4.043,1032,5.004,1033,3.885,1264,4.434,1382,2.715,1393,2.55,1416,4.224,1585,4.434,1605,3.504,1797,4.043,2086,4.687,2195,5.429,2294,5.637,2356,4.687,2385,6.073,2386,5.429,2387,4.687,2388,5.429,2389,4.687,2390,4.687,2391,6.073,2392,6.073,2393,6.073]],["t/331",[56,3.103,158,1.746,194,3.567,262,1.593,366,4.299,966,3.183,1017,3.683,1069,2.544,1094,5.198,1286,4.514,1382,2.763,1393,2.596,1589,4.299,1601,4.115,1619,3.955,1797,4.115,1806,5.198,1807,5.43,1818,3.955,2086,4.771,2095,3.269,2258,4.514,2375,5.526,2394,6.182]],["t/333",[0,0.759,50,3.559,51,1.466,117,2.106,194,3.852,207,4.726,255,1.93,972,2.006,979,3.245,984,2.133,1017,2.904,1070,2.904,1096,2.65,1105,3.245,1112,2.447,1120,4.357,1129,5.56,1133,3.559,1382,2.179,1393,2.047,1557,3.762,1558,3.245,1586,3.559,1589,3.39,1694,3.006,1804,4.357,1805,3.559,1806,5.07,1808,4.017,1815,3.559,1826,5.489,1835,3.245,2383,4.017,2395,4.874,2396,4.357,2397,4.874,2398,4.874,2399,4.874,2400,4.874,2401,4.874,2402,4.874,2403,4.874]],["t/335",[0,0.878,182,2.562,248,2.769,782,4.586,1069,3.627,1352,4.791,1353,3.805,1354,4.586,1385,3.929,1393,2.769,1446,4.815,1657,2.223,2084,3.585,2404,5.895]],["t/337",[0,0.59,12,3.197,27,3.649,51,1.779,61,4.567,102,2.485,128,3.649,590,5.289,958,3.939,1024,3.939,1123,3.649,1126,5.281,1234,4.381,1378,4.32,1380,3.939,1381,4.115,1382,3.394,1385,3.526,1571,4.876,1590,4.876,1591,5.289,1592,5.289,1743,4.876,1744,3.526,2019,5.289,2405,5.917,2406,5.917]],["t/339",[0,0.621,12,2.377,50,2.037,97,1.475,99,1.94,207,3.919,213,1.857,255,1.105,262,2.379,291,3.988,377,3.409,527,1.61,687,2.037,708,1.437,786,2.938,953,3.225,979,1.857,981,1.517,982,1.517,1038,1.857,1096,2.401,1100,2.153,1105,1.857,1112,2.217,1126,4.335,1129,2.037,1143,2.299,1296,2.153,1334,1.662,1356,4.15,1401,2.94,1433,2.494,1477,1.857,1508,4.517,1553,1.654,1557,2.153,1558,1.857,1694,1.72,1706,2.299,1728,4.003,1740,4.517,1805,5.275,1806,1.857,1815,4.552,1818,1.785,1826,3.507,1835,1.857,1843,2.494,1848,2.494,2084,3.928,2089,3.409,2095,2.899,2117,4.812,2188,4.15,2323,5.243,2407,4.517,2408,2.494,2409,5.137,2410,2.494,2411,5.573,2412,2.79,2413,2.79,2414,2.79,2415,2.79,2416,2.153,2417,2.494,2418,2.494,2419,2.79,2420,2.494,2421,3.948]],["t/341",[0,0.824,87,3.799,141,4.957,207,4.774,1017,4.045,1031,6.068,1033,4.343,1110,4.721,1114,4.045,1129,6.042,1393,2.85,1815,4.957,2422,6.788,2423,6.788]],["t/343",[0,0.585,39,2.046,168,2.681,611,3.906,965,3.611,966,3.889,1040,2.873,1049,3.906,1427,4.284,1432,3.753,1439,3.496,1549,3.906,1550,4.08,1552,4.528,1579,5.514,1580,5.245,1581,4.08,1713,4.284,1742,5.245,2198,5.245,2305,5.245,2356,4.528,2363,4.835,2424,5.867,2425,5.867,2426,5.867,2427,5.245,2428,5.867,2429,5.867,2430,5.867]],["t/345",[6,3.929,36,3.026,39,1.996,56,2.872,158,1.616,965,2.736,966,2.946,970,3.809,1028,5.114,1090,6.122,1139,4.416,1258,5.114,1432,3.66,1549,3.809,1550,3.979,1627,4.416,1713,4.177,1730,5.114,1793,5.114,2351,6.642,2354,4.715,2355,5.114,2369,4.715,2431,5.721,2432,5.721,2433,5.721,2434,5.721,2435,5.721,2436,5.721,2437,5.721,2438,5.721,2439,5.721,2440,5.721]],["t/347",[56,2.996,753,6.825,965,2.854,966,3.073,1020,2.996,1090,4.918,1096,3.245,1256,3.818,1427,5.575,1432,3.818,1549,3.973,1550,4.151,1609,4.606,1662,5.335,2249,5.335,2356,4.606,2357,4.918,2358,5.335,2359,4.918,2360,4.918,2361,5.335,2441,5.968,2442,5.335,2443,5.968,2444,5.968,2445,5.968,2446,5.968,2447,5.968,2448,5.335]],["t/349",[56,2.945,182,2.279,471,4.528,611,3.906,785,4.835,965,3.611,966,3.889,1020,2.945,1049,3.906,1193,4.835,1393,2.463,1432,3.753,1581,4.08,1696,4.835,1878,4.835,2360,4.835,2363,6.881,2364,5.245,2365,5.245,2366,5.245,2449,4.835,2450,5.867,2451,5.867,2452,5.867,2453,5.245,2454,5.867,2455,5.867,2456,5.867,2457,5.867]],["t/351",[36,3.001,56,2.848,158,1.602,611,3.778,632,4.676,965,2.714,966,2.922,1084,4.676,1085,5.072,1087,5.072,1353,3.274,1429,3.778,1432,4.728,1581,3.946,1585,4.143,1619,3.63,1627,4.38,1694,3.499,1698,5.072,1712,4.38,1852,4.676,2177,4.676,2354,4.676,2367,5.072,2369,6.09,2427,6.606,2442,5.072,2458,5.674,2459,5.674,2460,5.674,2461,5.674,2462,5.674,2463,5.674,2464,5.674]],["t/353",[39,2.391,56,3.441,243,3.837,965,3.279,966,3.531,1049,4.564,1428,4.768,1432,4.386,1549,4.564,1550,4.768,1579,5.006,1581,4.768,1732,5.292,2465,6.856,2466,6.856,2467,6.856]],["t/355",[0,0.633,158,1.794,207,3.665,248,2.667,255,3.144,447,2.968,1020,3.189,1094,4.229,1246,5.234,1559,4.229,1589,4.418,1598,5.678,1605,3.665,1728,4.638,1806,4.229,1807,5.523,2188,4.229,2258,5.799,2468,6.352,2469,6.544]],["t/357",[0,0.633,207,4.582,255,2.515,782,4.418,1094,4.229,1126,4.418,1393,2.667,1657,2.141,1740,5.234,1807,5.523,1808,5.234,1826,4.064,2084,3.453,2178,5.234,2258,4.638,2469,5.234,2470,6.352,2471,6.352,2472,5.678,2473,5.678,2474,6.352,2475,5.678]],["t/359",[0,0.75,207,4.343,1520,7.867,1728,5.496,2084,4.092,2188,5.011]],["t/361",[0,0.655,12,1.664,27,1.236,36,1.06,39,0.699,51,1.538,55,1.033,60,1.157,67,1.157,69,1.195,84,0.937,97,2.308,102,1.832,117,1.064,118,1.007,147,1.464,153,0.809,181,1.06,191,1.236,207,3.566,213,1.335,221,1.464,248,2.396,252,1.464,255,1.335,262,2.153,281,1.507,291,2.157,330,1.652,420,1.652,439,1.792,447,0.937,527,1.157,530,0.737,532,2.779,552,1.236,595,1.652,677,1.548,773,1.395,786,1.915,917,3.014,999,1.548,1009,1.464,1013,1.335,1014,1.792,1017,2.009,1024,1.335,1038,1.335,1040,0.982,1049,1.335,1069,1.796,1094,2.245,1096,2.372,1112,1.007,1123,2.691,1126,1.395,1146,1.464,1208,1.548,1234,1.157,1237,1.464,1295,1.652,1296,2.603,1297,2.603,1300,2.345,1352,2.372,1353,1.157,1354,1.395,1356,2.245,1377,1.652,1379,2.779,1380,2.245,1381,2.345,1382,2.287,1385,2.6,1392,1.283,1446,1.464,1469,1.792,1477,1.335,1508,2.779,1511,1.792,1553,0.751,1571,1.652,1575,1.652,1589,4.798,1590,1.652,1597,1.792,1601,1.335,1603,1.335,1728,4.513,1744,1.195,1806,1.335,1807,3.558,1815,3.186,1818,2.157,1826,1.283,1835,1.335,1855,1.652,2068,2.603,2084,1.833,2089,1.548,2095,1.06,2117,2.603,2188,2.245,2258,4.166,2323,2.603,2330,1.792,2359,1.652,2404,1.792,2407,2.779,2409,2.779,2411,3.014,2417,1.792,2418,3.014,2420,1.792,2421,3.014,2469,5.415,2472,1.792,2473,1.792,2475,3.014,2476,2.005,2477,1.792,2478,2.005,2479,2.005,2480,2.005,2481,2.005,2482,2.005,2483,3.014,2484,3.372,2485,5.706,2486,3.372,2487,2.005,2488,2.005,2489,2.005,2490,1.792,2491,2.005,2492,2.005,2493,2.005,2494,2.005,2495,3.372,2496,2.005,2497,2.005,2498,2.005]],["t/363",[39,1.802,51,1.553,153,2.085,187,2.808,226,3.078,262,2.323,291,4.443,786,2.6,1004,3.593,1096,3.776,1284,2.891,1356,4.623,1805,5.071,1806,3.439,1826,4.443,2084,3.776,2117,5.36,2188,5.223,2191,3.987,2396,6.208,2407,4.257,2408,4.618,2409,5.723,2410,4.618,2483,6.208,2499,6.945,2500,5.166,2501,5.166,2502,5.166,2503,5.166]],["t/365",[0,0.575,51,1.734,187,3.136,216,2.971,255,2.284,433,3.329,972,3.074,1502,2.636,1524,3.841,1835,3.841,2191,4.453,2294,6.397,2386,5.157,2387,6.394,2389,4.453,2390,4.453,2449,4.754,2504,5.769,2505,5.769,2506,5.769,2507,4.754,2508,5.769,2509,5.769,2510,5.769,2511,5.769,2512,5.769,2513,5.769,2514,5.769,2515,5.769]],["t/367",[0,0.639,530,2.357,635,1.783,725,4.948,967,1.556,984,2.805,1077,3.588,1355,5.731,1401,4.268,1443,2.49,1642,4.459,1993,4.948,2120,5.555,2294,4.681,2299,4.948,2387,4.948,2389,4.948,2390,4.948,2416,4.948,2507,5.283,2516,6.411,2517,6.411]],["t/369",[0,0.815,530,2.448,548,3.62,635,2.273,967,1.616,1442,2.803,1443,2.586,1517,3.261,1657,2.244,1801,4.861,1823,5.042,1824,4.259,2200,5.486,2297,4.861,2518,5.951]],["t/371",[0,0.668,12,1.647,69,1.617,84,2.019,117,2.452,158,1.52,181,1.435,185,1.981,195,3.334,207,1.565,217,1.139,223,1.435,225,3.926,262,2.31,263,1.298,504,1.981,550,1.806,555,2.094,635,1.201,657,2.611,659,3.334,664,2.574,786,1.016,803,1.806,816,2.094,958,1.806,972,2.215,984,1.187,1009,1.981,1069,1.778,1097,3.583,1109,2.236,1110,1.887,1112,1.362,1131,2.094,1196,3.334,1352,1.475,1357,1.24,1382,1.213,1385,1.617,1389,1.981,1416,1.887,1448,3.334,1567,3.334,1639,2.425,1675,2.236,1685,2.664,1797,2.876,1818,1.736,1823,1.673,1824,1.736,1835,2.876,1866,2.236,1868,2.236,1911,2.094,1933,1.981,1939,2.236,1942,2.236,1943,3.56,1950,2.236,1985,1.981,2104,2.094,2150,2.236,2294,1.981,2297,1.981,2387,4.154,2388,2.425,2389,3.334,2390,3.334,2449,2.236,2507,3.56,2518,2.425,2519,2.713,2520,4.811,2521,2.425,2522,3.862,2523,2.425,2524,2.425,2525,2.425,2526,2.425,2527,2.713,2528,2.713,2529,2.713,2530,2.713,2531,2.713,2532,2.713,2533,2.713,2534,2.713,2535,2.713,2536,2.713,2537,2.713,2538,4.32,2539,2.713,2540,2.713,2541,2.713,2542,2.713,2543,2.713,2544,2.425,2545,2.425,2546,2.713,2547,2.713,2548,2.425,2549,2.713,2550,2.713,2551,4.32]],["t/374",[0,0.392,12,1.502,14,4.732,33,1.682,36,1.279,41,1.766,51,1.498,58,1.867,66,1.867,108,1.766,120,5.514,168,1.105,172,1.492,182,0.94,198,2.52,217,1.016,218,3.637,243,1.354,255,0.958,420,1.993,526,1.867,530,0.889,571,3.465,588,1.548,633,2.162,664,1.441,679,1.682,704,1.993,708,1.246,740,1.441,922,2.162,924,3.246,965,1.157,972,2.602,978,1.867,984,1.723,985,3.674,989,1.441,1005,2.162,1009,1.766,1020,1.214,1024,1.61,1032,1.993,1035,1.867,1092,2.162,1097,1.61,1127,4.927,1193,3.246,1239,2.162,1245,2.162,1276,2.272,1293,2.162,1306,1.993,1325,3.521,1328,2.162,1362,5.887,1429,2.622,1442,0.829,1552,1.867,1577,1.61,1605,1.396,1609,3.04,1696,1.993,1713,1.766,1832,1.993,1924,1.993,1985,2.876,2041,2.876,2068,1.867,2082,1.993,2120,1.682,2257,2.162,2299,1.867,2357,1.993,2370,6.137,2372,4.453,2373,2.162,2374,2.162,2376,3.04,2377,2.162,2378,2.162,2379,3.521,2380,3.521,2381,4.453,2383,4.105,2416,1.867,2448,2.162,2453,2.162,2490,2.162,2552,2.419,2553,2.419,2554,2.419,2555,2.419,2556,2.162,2557,2.162,2558,2.162,2559,3.939,2560,2.419,2561,3.939,2562,2.419,2563,2.419,2564,2.162,2565,3.939,2566,2.419,2567,2.419,2568,2.419,2569,2.419,2570,2.419,2571,2.419,2572,2.419,2573,2.419,2574,2.419,2575,2.419,2576,3.939,2577,2.419,2578,2.419,2579,2.419,2580,3.939,2581,3.939,2582,2.419,2583,2.419,2584,3.939,2585,2.419,2586,2.419,2587,2.419,2588,2.419,2589,3.939,2590,2.419,2591,2.419]],["t/376",[0,0.676,530,2.496,635,1.888,782,4.721,967,1.648,984,2.97,1070,4.045,1346,4.186,1443,2.637,1577,4.519,1642,4.721,1985,4.957,1993,5.24,2299,5.24,2376,5.24,2416,5.24,2592,6.788]],["t/378",[0,0.82,530,2.472,548,3.655,635,2.287,967,1.632,1442,2.82,1443,2.612,1517,3.292,1657,2.266,1801,4.908,1823,5.072,1824,4.301,2200,5.54,2297,4.908]],["t/380",[0,0.522,12,0.661,51,0.896,66,2.3,70,0.792,84,0.81,102,0.728,117,2.039,120,2.3,137,2.664,158,1.107,181,0.917,182,0.674,183,1.55,185,1.266,195,3.024,213,1.154,217,0.728,218,1.266,223,0.917,225,2.976,262,2.467,263,0.829,389,1.338,399,1.55,550,1.154,635,0.829,657,2.357,659,3.024,664,2.335,773,2.072,786,0.649,803,1.154,816,1.338,928,1.429,958,1.154,972,1.613,984,0.759,985,1.906,989,1.033,1016,0.829,1069,1.226,1070,1.033,1077,1.668,1109,1.429,1110,1.206,1112,0.87,1127,1.906,1131,1.338,1196,2.3,1352,0.943,1353,1,1357,0.792,1382,0.775,1385,1.033,1397,1.069,1416,1.206,1420,1.55,1448,2.3,1459,1.266,1577,1.154,1675,1.429,1685,1.837,1791,1.429,1797,1.984,1818,1.109,1823,1.069,1824,1.109,1832,1.429,1835,1.154,1840,2.861,1866,1.429,1868,1.429,1911,1.338,1930,1.338,1933,1.266,1939,1.429,1942,1.429,1943,2.455,1950,1.429,1985,4.177,1993,1.338,2070,1.55,2120,1.206,2150,1.429,2267,1.55,2297,1.266,2370,3.833,2376,3.024,2477,1.55,2520,3.503,2521,1.55,2522,2.664,2523,1.55,2524,1.55,2525,1.55,2526,1.55,2544,1.55,2545,1.55,2548,1.55,2556,1.55,2557,1.55,2558,1.55,2564,1.55,2593,1.734,2594,2.98,2595,1.734,2596,1.734,2597,2.98,2598,1.734,2599,1.734,2600,1.734,2601,3.919,2602,1.734,2603,3.919,2604,1.734,2605,1.734,2606,1.734,2607,1.734,2608,1.734,2609,1.734,2610,1.734,2611,1.734,2612,1.734,2613,1.734,2614,1.734,2615,1.734,2616,1.734,2617,1.734,2618,2.98,2619,1.734,2620,1.734,2621,3.919,2622,1.734,2623,1.734,2624,2.98,2625,4.651,2626,2.98,2627,1.734,2628,1.734,2629,1.734,2630,1.734,2631,1.734,2632,4.651,2633,3.919,2634,1.734,2635,2.98,2636,1.734,2637,2.98,2638,4.651,2639,1.734,2640,1.734,2641,1.734,2642,1.734,2643,1.734,2644,1.734,2645,1.734,2646,1.734,2647,2.98,2648,1.734,2649,1.734,2650,1.734,2651,1.734,2652,1.734,2653,1.734,2654,2.98,2655,1.734,2656,1.734,2657,1.734,2658,1.734,2659,1.734,2660,1.734,2661,1.734,2662,1.734,2663,1.734,2664,1.734,2665,1.734,2666,2.98]]],"invertedIndex":[["",{"_index":262,"t":{"5":{"position":[[1667,1],[1677,2],[2030,1],[2314,2],[2335,1],[2364,1],[2689,1],[2691,2],[2718,4],[3053,1],[3101,1],[4457,1],[4584,1]]},"7":{"position":[[713,1],[1120,1],[1130,1]]},"9":{"position":[[633,1],[642,1],[1306,1]]},"13":{"position":[[1081,1],[1532,1],[1568,1],[1575,2],[1578,2],[1583,5],[1611,4],[2090,1],[2711,3],[2844,3],[2923,1],[2942,1],[2979,1],[2986,1],[2994,1],[3010,2]]},"15":{"position":[[894,1],[938,1],[949,2],[952,2],[957,5],[989,4]]},"17":{"position":[[623,1]]},"19":{"position":[[475,1],[508,1],[619,1],[652,1],[857,1],[878,2],[900,1],[986,1],[1005,1],[1007,2],[1029,1],[1190,1],[1214,1]]},"21":{"position":[[709,3],[740,3],[772,3],[1052,1],[1088,2],[1102,1],[1104,2],[1134,1],[1293,1],[1312,1],[1317,1],[1329,2],[1343,1],[1345,2],[1375,1],[1393,1],[1398,1],[1621,1],[1724,1],[2194,1],[2573,1],[2616,1],[2760,1],[2802,1]]},"23":{"position":[[491,1],[863,1],[877,1],[921,1],[923,1],[925,1],[940,1],[942,1],[944,1],[959,1]]},"44":{"position":[[1001,1],[1129,1],[1147,1],[1234,1],[1267,1]]},"52":{"position":[[260,1],[327,1],[406,1],[444,1]]},"63":{"position":[[109,1],[129,1],[207,1],[241,1],[294,1]]},"69":{"position":[[367,1],[387,1],[465,1],[499,1],[552,1]]},"72":{"position":[[324,1],[441,1],[455,1],[516,1],[701,2],[713,3],[725,1]]},"79":{"position":[[87,1]]},"83":{"position":[[30,1]]},"93":{"position":[[202,1],[210,1],[264,1]]},"95":{"position":[[146,1],[176,1],[281,1],[287,1],[321,1],[374,1],[860,2],[1132,1]]},"107":{"position":[[929,1],[1002,1],[1042,1],[1089,1],[1182,1],[1211,1],[1282,1],[1366,1]]},"109":{"position":[[575,1],[665,1],[742,1],[782,1],[833,1],[854,1],[923,2],[938,1],[1003,2],[1017,1],[1082,2],[1101,1],[1148,1],[1218,1]]},"111":{"position":[[556,1],[637,1],[689,1],[736,1],[806,1],[873,1],[913,1],[976,1],[997,1],[1079,1],[1129,1],[1183,1]]},"119":{"position":[[820,1]]},"127":{"position":[[583,1],[656,1],[658,1],[689,1],[699,1],[743,1]]},"129":{"position":[[555,1],[595,1],[650,1],[661,1],[728,1]]},"133":{"position":[[154,1],[174,1],[257,1]]},"135":{"position":[[330,1],[352,1],[406,1],[419,1],[478,1],[524,1]]},"137":{"position":[[348,1],[422,1],[1266,1],[1330,1],[1343,2],[1346,2]]},"141":{"position":[[216,1],[239,1],[331,1],[336,1],[411,1],[467,1],[557,1],[637,1],[665,1],[721,1],[790,1],[866,1],[920,1],[990,1]]},"158":{"position":[[239,1]]},"160":{"position":[[963,1],[989,1],[1092,1],[1149,1],[1251,1],[1290,1],[1292,1],[1388,1],[1447,1],[1516,1],[1578,1]]},"186":{"position":[[312,1],[367,1],[447,1],[579,1],[651,1],[700,1],[806,1]]},"192":{"position":[[235,1],[260,1],[310,1],[739,1],[764,1],[814,1],[923,1],[933,1]]},"196":{"position":[[202,1],[227,1],[277,1]]},"198":{"position":[[262,1],[287,1],[325,1],[372,1],[433,1],[489,1],[553,1],[619,1],[683,1]]},"200":{"position":[[445,1],[470,1],[520,1]]},"203":{"position":[[248,1],[276,1]]},"205":{"position":[[39,1],[55,1],[103,1],[129,1],[188,1]]},"207":{"position":[[729,1],[747,1],[910,1],[977,1],[1059,1]]},"293":{"position":[[349,1],[374,1]]},"295":{"position":[[261,1],[286,1],[422,1],[447,1]]},"297":{"position":[[313,1],[329,1],[373,1],[395,1],[450,1]]},"299":{"position":[[414,1],[443,1]]},"301":{"position":[[152,1],[184,1],[257,1],[368,1]]},"321":{"position":[[285,1]]},"325":{"position":[[505,1]]},"327":{"position":[[323,1]]},"329":{"position":[[271,1]]},"331":{"position":[[222,1]]},"339":{"position":[[180,1],[210,1],[236,1],[259,1],[603,1],[633,1],[659,1],[682,1],[691,1],[959,1],[989,1],[1015,1],[1038,1],[1045,1],[1203,1],[1233,1],[1259,1],[1282,1],[1289,1]]},"361":{"position":[[865,1],[895,1],[921,1],[972,1],[982,1],[984,1],[1013,1],[1015,1],[1088,1],[1465,1],[1495,1],[1521,1],[1572,1],[1582,1],[1584,1],[1613,1]]},"363":{"position":[[214,1],[244,1],[268,1],[346,1],[376,1],[400,1]]},"371":{"position":[[371,1],[404,1],[439,1],[626,1],[636,1],[667,1],[694,1],[824,1],[883,1],[992,1],[1017,1],[1088,1],[1124,1],[1196,1],[1224,2],[1411,1]]},"380":{"position":[[470,1],[503,1],[538,1],[819,1],[849,1],[868,1],[894,1],[947,1],[1048,1],[1187,1],[1191,1],[1218,1],[1223,1],[1279,1],[1326,2],[1342,1],[1396,1],[1421,1],[1526,1],[1645,1],[1654,1],[1656,2],[1669,1],[1671,2],[1692,1],[1752,1],[1853,1],[1953,1],[2119,1],[2174,2],[2214,2],[2251,1],[2271,1],[2283,1],[2302,1],[2386,1],[2418,1],[2433,1],[2549,1],[2551,2],[2567,1],[2605,2],[2642,2],[2645,3],[2663,1],[2720,2],[2904,1],[2906,2]]}}}],["0",{"_index":337,"t":{"5":{"position":[[3333,1]]},"7":{"position":[[920,1]]},"31":{"position":[[623,1]]},"135":{"position":[[372,2]]},"137":{"position":[[172,1]]}}}],["0.0",{"_index":1881,"t":{"137":{"position":[[183,3]]}}}],["0.25",{"_index":2484,"t":{"361":{"position":[[977,4],[1577,4]]}}}],["0.5",{"_index":1848,"t":{"129":{"position":[[1127,5]]},"339":{"position":[[687,3]]}}}],["0.75",{"_index":2476,"t":{"361":{"position":[[405,5]]}}}],["0.95",{"_index":2018,"t":{"158":{"position":[[466,5],[613,4]]},"160":{"position":[[1285,4],[1371,4]]}}}],["0}^k",{"_index":456,"t":{"7":{"position":[[1132,4]]}}}],["1",{"_index":97,"t":{"3":{"position":[[1370,2],[2472,2]]},"5":{"position":[[3157,2],[3273,1]]},"7":{"position":[[733,2]]},"9":{"position":[[1928,1],[3392,1]]},"13":{"position":[[586,2],[1068,1]]},"15":{"position":[[940,1]]},"19":{"position":[[510,2],[655,1]]},"21":{"position":[[1606,2],[2276,1]]},"31":{"position":[[628,2]]},"121":{"position":[[471,1],[532,1]]},"129":{"position":[[1043,2]]},"137":{"position":[[1349,2]]},"339":{"position":[[264,1]]},"361":{"position":[[986,1],[1586,1],[1999,1]]}}}],["1.0",{"_index":473,"t":{"7":{"position":[[1633,3]]},"23":{"position":[[1279,3]]},"129":{"position":[[652,3],[1025,4]]},"137":{"position":[[187,3]]}}}],["1.25\\%δ/4=1.25",{"_index":791,"t":{"21":{"position":[[1726,16]]}}}],["1.96",{"_index":848,"t":{"23":{"position":[[883,4]]}}}],["1/2",{"_index":809,"t":{"21":{"position":[[2575,5],[2762,5]]}}}],["1/n",{"_index":342,"t":{"5":{"position":[[3460,4]]}}}],["10",{"_index":1142,"t":{"42":{"position":[[1897,2]]},"48":{"position":[[228,2]]},"107":{"position":[[1378,2]]},"160":{"position":[[1487,2]]},"164":{"position":[[223,2]]},"186":{"position":[[576,2],[803,2]]},"205":{"position":[[69,2]]},"297":{"position":[[206,2],[343,2]]}}}],["100",{"_index":389,"t":{"5":{"position":[[4459,5]]},"9":{"position":[[392,3]]},"23":{"position":[[1290,4],[1465,5],[1553,4]]},"380":{"position":[[2285,3]]}}}],["100(1",{"_index":620,"t":{"13":{"position":[[1441,5]]},"15":{"position":[[801,5]]},"21":{"position":[[851,5]]}}}],["100*(1",{"_index":662,"t":{"13":{"position":[[2725,6]]}}}],["1007us",{"_index":1769,"t":{"121":{"position":[[132,6]]}}}],["100×\\times×(1",{"_index":707,"t":{"17":{"position":[[295,13],[448,13]]}}}],["1024",{"_index":2529,"t":{"371":{"position":[[628,4]]}}}],["11",{"_index":1536,"t":{"95":{"position":[[898,3],[906,3]]},"164":{"position":[[230,2]]}}}],["13900h",{"_index":1773,"t":{"121":{"position":[[163,6]]}}}],["15",{"_index":1767,"t":{"121":{"position":[[122,2],[354,2]]}}}],["17",{"_index":2622,"t":{"380":{"position":[[1220,2]]}}}],["18.04",{"_index":2113,"t":{"184":{"position":[[167,5]]},"186":{"position":[[7,5],[218,5]]}}}],["19",{"_index":2021,"t":{"158":{"position":[[644,2]]}}}],["1[condition",{"_index":332,"t":{"5":{"position":[[3204,15]]}}}],["1[h(xi)=yi],\\text{acc}^+(h",{"_index":742,"t":{"19":{"position":[[829,27]]}}}],["1[h(xi)=yi].\\text{acc",{"_index":745,"t":{"19":{"position":[[958,23]]}}}],["1e",{"_index":667,"t":{"13":{"position":[[2925,2]]}}}],["1st",{"_index":2173,"t":{"205":{"position":[[143,3]]},"297":{"position":[[409,3]]}}}],["2",{"_index":377,"t":{"5":{"position":[[4128,2]]},"13":{"position":[[2996,1]]},"129":{"position":[[1217,3]]},"339":{"position":[[1043,1],[1287,1]]}}}],["2.5",{"_index":714,"t":{"17":{"position":[[625,4]]}}}],["20",{"_index":560,"t":{"9":{"position":[[3397,2]]},"158":{"position":[[654,2]]},"160":{"position":[[1567,2]]}}}],["20.04",{"_index":1784,"t":{"121":{"position":[[251,6]]}}}],["2005",{"_index":177,"t":{"3":{"position":[[2961,4]]},"27":{"position":[[11,5],[116,6]]}}}],["2010",{"_index":902,"t":{"27":{"position":[[151,5]]},"31":{"position":[[774,4]]}}}],["20th",{"_index":905,"t":{"27":{"position":[[230,4]]}}}],["24",{"_index":911,"t":{"27":{"position":[[289,3]]}}}],["24.8",{"_index":538,"t":{"9":{"position":[[2212,5],[2486,5]]}}}],["24/27",{"_index":392,"t":{"5":{"position":[[4578,5]]}}}],["25",{"_index":1537,"t":{"95":{"position":[[902,3]]}}}],["255",{"_index":1880,"t":{"137":{"position":[[174,3]]}}}],["273–306",{"_index":898,"t":{"27":{"position":[[123,8]]}}}],["3",{"_index":514,"t":{"9":{"position":[[1320,2]]},"186":{"position":[[197,1]]}}}],["3)).astype(np.uint8",{"_index":1895,"t":{"137":{"position":[[401,20]]}}}],["3.10",{"_index":2123,"t":{"186":{"position":[[105,5]]}}}],["3.6",{"_index":2119,"t":{"186":{"position":[[31,3]]}}}],["3.9",{"_index":1443,"t":{"69":{"position":[[53,3]]},"89":{"position":[[88,4]]},"91":{"position":[[30,6]]},"162":{"position":[[43,3]]},"170":{"position":[[99,3]]},"172":{"position":[[68,3]]},"174":{"position":[[25,3]]},"182":{"position":[[124,5]]},"186":{"position":[[234,4]]},"209":{"position":[[106,3]]},"211":{"position":[[74,3]]},"213":{"position":[[25,3]]},"223":{"position":[[115,3]]},"225":{"position":[[75,3]]},"227":{"position":[[25,3]]},"246":{"position":[[99,3]]},"248":{"position":[[68,3]]},"250":{"position":[[25,3]]},"258":{"position":[[124,5]]},"274":{"position":[[101,3]]},"276":{"position":[[68,3]]},"278":{"position":[[25,3]]},"286":{"position":[[130,5]]},"321":{"position":[[27,5]]},"367":{"position":[[28,3]]},"369":{"position":[[23,3]]},"376":{"position":[[28,3]]},"378":{"position":[[23,3]]}}}],["3.9.0",{"_index":2107,"t":{"182":{"position":[[158,9]]},"258":{"position":[[158,9]]},"286":{"position":[[164,9]]}}}],["3.9.5",{"_index":2106,"t":{"182":{"position":[[147,7]]},"258":{"position":[[147,7]]},"286":{"position":[[153,7]]}}}],["30s",{"_index":2149,"t":{"192":{"position":[[681,5]]}}}],["3121",{"_index":910,"t":{"27":{"position":[[284,4]]}}}],["32",{"_index":2320,"t":{"315":{"position":[[0,2]]}}}],["32gb",{"_index":1779,"t":{"121":{"position":[[213,4]]}}}],["38627",{"_index":1539,"t":{"95":{"position":[[917,6]]}}}],["3pm",{"_index":2649,"t":{"380":{"position":[[2425,3]]}}}],["4",{"_index":532,"t":{"9":{"position":[[1933,1],[2387,2]]},"166":{"position":[[87,1]]},"361":{"position":[[1000,1],[1600,1]]}}}],["400",{"_index":1954,"t":{"141":{"position":[[667,3]]}}}],["401",{"_index":1957,"t":{"141":{"position":[[723,3]]}}}],["403",{"_index":1960,"t":{"141":{"position":[[792,3]]}}}],["404",{"_index":1965,"t":{"141":{"position":[[868,3]]}}}],["4070",{"_index":1777,"t":{"121":{"position":[[196,4]]}}}],["429",{"_index":1967,"t":{"141":{"position":[[922,3]]}}}],["4=1.25%\\delta/4",{"_index":790,"t":{"21":{"position":[[1706,17]]}}}],["4\\delta/4δ/4",{"_index":781,"t":{"21":{"position":[[1509,14],[1849,15]]}}}],["4⋅(δ/4)=δ4\\cdot(\\delta/4",{"_index":800,"t":{"21":{"position":[[2168,25]]}}}],["5",{"_index":552,"t":{"9":{"position":[[2866,2],[3114,2],[3213,2]]},"11":{"position":[[137,2]]},"13":{"position":[[457,2],[1049,2],[2092,3]]},"44":{"position":[[1945,1]]},"95":{"position":[[910,2]]},"166":{"position":[[93,1]]},"205":{"position":[[155,1]]},"297":{"position":[[421,1]]},"361":{"position":[[2184,1]]}}}],["500",{"_index":1762,"t":{"121":{"position":[[47,3],[476,3]]},"141":{"position":[[992,3]]}}}],["50ms",{"_index":1764,"t":{"121":{"position":[[90,4]]}}}],["5200mhz",{"_index":1781,"t":{"121":{"position":[[223,7]]}}}],["54",{"_index":518,"t":{"9":{"position":[[1419,3],[1536,3],[1635,3]]}}}],["57",{"_index":1538,"t":{"95":{"position":[[913,3]]}}}],["587",{"_index":2610,"t":{"380":{"position":[[982,4]]}}}],["5pm",{"_index":2623,"t":{"380":{"position":[[1230,3]]}}}],["6",{"_index":668,"t":{"13":{"position":[[2928,2]]},"17":{"position":[[1078,2]]},"27":{"position":[[114,1]]}}}],["60",{"_index":1791,"t":{"121":{"position":[[537,4]]},"160":{"position":[[1322,2]]},"380":{"position":[[1647,2]]}}}],["7",{"_index":814,"t":{"21":{"position":[[2986,2]]}}}],["75",{"_index":1124,"t":{"42":{"position":[[1264,4],[1646,3]]}}}],["8",{"_index":925,"t":{"29":{"position":[[520,2]]}}}],["80",{"_index":491,"t":{"9":{"position":[[457,2],[644,4],[762,4],[1020,4],[1308,4],[1465,3],[1582,3],[1620,4],[1680,3],[2024,4],[2146,3],[2281,3],[2534,3],[2828,3],[3024,4],[3258,3],[3371,3]]},"77":{"position":[[117,3]]}}}],["80.0",{"_index":517,"t":{"9":{"position":[[1387,6]]}}}],["80/100",{"_index":496,"t":{"9":{"position":[[635,6],[1299,6]]}}}],["800",{"_index":1894,"t":{"137":{"position":[[396,4]]}}}],["800x600",{"_index":1887,"t":{"137":{"position":[[291,7]]}}}],["83",{"_index":531,"t":{"9":{"position":[[1902,4],[2186,4],[2375,4]]}}}],["83.0",{"_index":542,"t":{"9":{"position":[[2454,6]]}}}],["86.3",{"_index":551,"t":{"9":{"position":[[2795,6],[3100,6],[3181,6],[3315,5],[3459,5]]}}}],["89",{"_index":393,"t":{"5":{"position":[[4586,4]]}}}],["9",{"_index":2619,"t":{"380":{"position":[[1189,1]]}}}],["9/9",{"_index":388,"t":{"5":{"position":[[4453,3]]}}}],["95",{"_index":101,"t":{"3":{"position":[[1466,3]]},"11":{"position":[[248,3],[356,3],[539,3],[732,3],[854,3]]},"13":{"position":[[533,3],[716,3],[818,4],[1083,3],[1934,3]]},"17":{"position":[[515,3],[679,3],[755,3],[839,3],[1022,3]]},"21":{"position":[[1623,4]]},"23":{"position":[[825,7],[916,4]]},"31":{"position":[[101,3],[154,3],[300,3]]},"158":{"position":[[514,3]]}}}],["97.5",{"_index":712,"t":{"17":{"position":[[559,5]]}}}],["99",{"_index":602,"t":{"13":{"position":[[642,3],[672,3],[774,3]]}}}],["9am",{"_index":2620,"t":{"380":{"position":[[1198,3]]}}}],["_",{"_index":1871,"t":{"135":{"position":[[397,2]]}}}],["__init__(self",{"_index":1218,"t":{"44":{"position":[[1102,15]]}}}],["a1,a2,…,ana_1",{"_index":913,"t":{"29":{"position":[[68,14]]}}}],["a_2",{"_index":914,"t":{"29":{"position":[[83,4]]}}}],["a_i",{"_index":920,"t":{"29":{"position":[[281,3]]}}}],["a_na1,a2,…,an",{"_index":916,"t":{"29":{"position":[[96,17]]}}}],["abandoned",{"_index":1002,"t":{"38":{"position":[[135,9]]},"44":{"position":[[2453,9]]}}}],["ability",{"_index":1179,"t":{"44":{"position":[[21,7]]}}}],["above",{"_index":154,"t":{"3":{"position":[[2475,7]]},"5":{"position":[[3361,5]]},"13":{"position":[[1020,5],[1916,5]]},"21":{"position":[[9,5]]},"115":{"position":[[605,5]]},"119":{"position":[[1009,5]]},"158":{"position":[[889,5]]},"196":{"position":[[74,5]]},"203":{"position":[[176,5]]}}}],["acc+(h",{"_index":766,"t":{"21":{"position":[[813,8]]}}}],["acc+(h)=e(x,y)∼d",{"_index":741,"t":{"19":{"position":[[811,17]]}}}],["acc+(h)=e(x,y)∼d+1[h(xi)=yi],acc−(h)=e(x,y)∼d",{"_index":744,"t":{"19":{"position":[[906,51]]}}}],["acc+(h)=p(n+,k+,δ/4)acc−‾(h)=p‾(n−,k−,δ/4",{"_index":776,"t":{"21":{"position":[[1195,43]]}}}],["acc+‾(h",{"_index":759,"t":{"21":{"position":[[641,9],[651,9]]}}}],["acc+‾(h)=p‾(n+,k+,δ/4",{"_index":770,"t":{"21":{"position":[[975,22]]}}}],["acc+‾(h)=p‾(n+,k+,δ/4)\\underline{\\text{acc}^+}(h",{"_index":771,"t":{"21":{"position":[[1002,49]]}}}],["acc^s(h)=1n∑i=1n1",{"_index":321,"t":{"5":{"position":[[2995,18]]}}}],["acc^s(h)\\widehat{\\text{acc}}_s(h)accs(h",{"_index":495,"t":{"9":{"position":[[591,41]]}}}],["accbal(h)=acc+(h)+acc−(h)2.\\text{acc}_\\text{bal}(h",{"_index":748,"t":{"19":{"position":[[1138,51]]}}}],["accbal(h)\\text{acc}_\\text{bal}(h)accbal(h",{"_index":769,"t":{"21":{"position":[[898,44]]}}}],["accbal‾(h)=(1/2)(acc+‾(h)+acc−‾(h))\\underline{\\text{acc}_\\text{bal}}(h",{"_index":808,"t":{"21":{"position":[[2501,71]]}}}],["accd(h)=pr(x,y)∼d",{"_index":287,"t":{"5":{"position":[[2287,19]]}}}],["accd(h)\\text{acc}_d(h)accd(h",{"_index":492,"t":{"9":{"position":[[519,31]]}}}],["accd(h)=(x,y)∼dpr[h(x)=y",{"_index":294,"t":{"5":{"position":[[2370,30]]}}}],["accept",{"_index":1853,"t":{"133":{"position":[[24,6]]},"137":{"position":[[24,6]]}}}],["acceptable",{"_index":2032,"t":{"158":{"position":[[1102,10]]}}}],["accepts",{"_index":1851,"t":{"131":{"position":[[18,7]]}}}],["access",{"_index":1346,"t":{"52":{"position":[[37,6],[158,6]]},"54":{"position":[[108,6]]},"56":{"position":[[0,6]]},"69":{"position":[[227,6]]},"113":{"position":[[25,6]]},"141":{"position":[[118,6],[308,6]]},"266":{"position":[[382,6]]},"317":{"position":[[129,6]]},"376":{"position":[[113,6]]}}}],["accessed",{"_index":1204,"t":{"44":{"position":[[816,8]]}}}],["accessible",{"_index":2440,"t":{"345":{"position":[[309,10]]}}}],["according",{"_index":1483,"t":{"79":{"position":[[51,9]]}}}],["account",{"_index":782,"t":{"21":{"position":[[1527,7]]},"89":{"position":[[29,7]]},"113":{"position":[[8,7]]},"335":{"position":[[29,7]]},"357":{"position":[[250,7]]},"376":{"position":[[95,7]]}}}],["account's",{"_index":1702,"t":{"113":{"position":[[307,9]]}}}],["account/api",{"_index":1376,"t":{"56":{"position":[[60,11]]}}}],["accs(h)=n1i=1∑n1[h(xi)=yi",{"_index":328,"t":{"5":{"position":[[3107,36]]}}}],["accumulate",{"_index":993,"t":{"34":{"position":[[888,10]]},"36":{"position":[[861,10]]}}}],["accuracies",{"_index":574,"t":{"11":{"position":[[525,10]]},"19":{"position":[[728,10]]},"21":{"position":[[530,10],[2489,11]]}}}],["accuracy",{"_index":13,"t":{"3":{"position":[[157,9],[352,8],[686,8],[742,9],[761,8],[904,8],[945,8],[995,8],[1217,8],[1326,8],[1386,8],[1423,8],[1446,8],[1546,8],[1907,8],[2078,9],[2263,9],[2355,8],[2443,8],[3063,8]]},"5":{"position":[[60,9],[161,9],[213,8],[603,8],[680,8],[823,9],[837,8],[909,9],[1235,8],[2165,8],[2202,8],[2410,8],[2945,8],[3544,8],[4136,8],[4408,8],[4549,8]]},"7":{"position":[[65,8]]},"9":{"position":[[272,8],[509,9],[581,9],[750,8],[943,9],[998,8],[1096,8],[1281,8],[1378,8],[1453,8],[1570,8],[1608,8],[1870,8],[1968,8],[2012,8],[2134,8],[2173,8],[2295,8],[2363,8],[2445,8],[2522,8],[2638,8],[2717,9],[2764,8],[2816,8],[3012,8],[3088,8],[3172,8],[3246,8],[3301,8],[3359,8],[3447,8]]},"11":{"position":[[68,8],[114,8],[209,9],[288,9],[360,8],[782,8],[845,8]]},"13":{"position":[[200,9],[762,8],[1415,9],[1687,8],[2772,8]]},"15":{"position":[[101,9],[473,9],[530,8],[775,9]]},"17":{"position":[[1243,9]]},"19":{"position":[[25,8],[77,8],[130,8],[221,10],[1088,8]]},"21":{"position":[[66,8],[629,8],[2393,8],[2969,9],[3002,8]]},"23":{"position":[[114,8],[467,9],[1305,10],[1453,8],[1558,8]]},"25":{"position":[[213,8],[442,9]]},"27":{"position":[[170,8]]},"31":{"position":[[184,8],[250,8],[466,8],[577,8],[836,9]]},"97":{"position":[[782,8]]},"158":{"position":[[218,8]]},"160":{"position":[[1749,8]]}}}],["accurate",{"_index":867,"t":{"23":{"position":[[1715,8]]},"44":{"position":[[517,8]]},"158":{"position":[[1231,8],[1421,9]]},"160":{"position":[[1822,8]]}}}],["acc−(h",{"_index":768,"t":{"21":{"position":[[832,8]]}}}],["acc−(h)=e(x,y)∼d−1[h(xi)=yi",{"_index":747,"t":{"19":{"position":[[1035,34]]}}}],["acc−(h)=p(n−,k−,δ/4",{"_index":779,"t":{"21":{"position":[[1436,21]]}}}],["acc−(h",{"_index":767,"t":{"21":{"position":[[822,9]]}}}],["acc−‾(h",{"_index":760,"t":{"21":{"position":[[661,9],[671,9]]}}}],["acc−‾(h)=p‾(n−,k−,δ/4)\\underline{\\text{acc",{"_index":777,"t":{"21":{"position":[[1243,44]]}}}],["achieved",{"_index":988,"t":{"34":{"position":[[789,8]]},"36":{"position":[[762,8]]},"113":{"position":[[339,8]]},"158":{"position":[[827,8],[927,9]]}}}],["achieving",{"_index":2065,"t":{"160":{"position":[[1869,9]]}}}],["act",{"_index":414,"t":{"7":{"position":[[253,3]]}}}],["action",{"_index":268,"t":{"5":{"position":[[1756,6]]},"105":{"position":[[420,6]]},"109":{"position":[[861,6]]},"323":{"position":[[88,7]]}}}],["actions",{"_index":1663,"t":{"109":{"position":[[258,7]]}}}],["activate",{"_index":1511,"t":{"91":{"position":[[184,8]]},"361":{"position":[[2261,8]]}}}],["actively",{"_index":1041,"t":{"40":{"position":[[299,8]]}}}],["activity",{"_index":2480,"t":{"361":{"position":[[553,9]]}}}],["actual",{"_index":549,"t":{"9":{"position":[[2705,6]]}}}],["actually",{"_index":197,"t":{"5":{"position":[[375,8]]},"9":{"position":[[1118,8]]},"44":{"position":[[2536,8]]}}}],["add",{"_index":953,"t":{"34":{"position":[[219,3]]},"36":{"position":[[192,3]]},"46":{"position":[[661,3],[773,3]]},"207":{"position":[[400,3]]},"339":{"position":[[912,3],[1115,3]]}}}],["adding",{"_index":1295,"t":{"48":{"position":[[62,6]]},"186":{"position":[[281,6]]},"361":{"position":[[1400,6]]}}}],["addition",{"_index":1060,"t":{"40":{"position":[[950,8]]}}}],["additional",{"_index":1747,"t":{"119":{"position":[[515,10]]}}}],["additionally",{"_index":1698,"t":{"113":{"position":[[225,13]]},"351":{"position":[[208,13]]}}}],["address",{"_index":1759,"t":{"119":{"position":[[1237,7]]}}}],["addressing",{"_index":2586,"t":{"374":{"position":[[1501,10]]}}}],["adds",{"_index":1162,"t":{"42":{"position":[[2610,4]]}}}],["adequate",{"_index":34,"t":{"3":{"position":[[384,8]]}}}],["adjusted",{"_index":710,"t":{"17":{"position":[[419,8]]},"21":{"position":[[1485,8]]}}}],["advanced",{"_index":1034,"t":{"40":{"position":[[48,8]]}}}],["ag",{"_index":2326,"t":{"317":{"position":[[49,2]]}}}],["again",{"_index":555,"t":{"9":{"position":[[3029,6]]},"15":{"position":[[614,6]]},"58":{"position":[[134,6]]},"371":{"position":[[1448,5]]}}}],["against",{"_index":1563,"t":{"97":{"position":[[774,7]]},"207":{"position":[[58,7]]}}}],["aggregating",{"_index":2629,"t":{"380":{"position":[[1587,11]]}}}],["agnostic",{"_index":2165,"t":{"200":{"position":[[97,8]]}}}],["ago",{"_index":1903,"t":{"137":{"position":[[723,3]]}}}],["ahead",{"_index":2125,"t":{"186":{"position":[[156,6]]}}}],["ai",{"_index":1435,"t":{"67":{"position":[[69,2]]}}}],["aia_iai",{"_index":927,"t":{"29":{"position":[[576,8],[627,8]]}}}],["aids",{"_index":1987,"t":{"149":{"position":[[111,4]]}}}],["aim",{"_index":882,"t":{"25":{"position":[[608,3]]}}}],["al",{"_index":901,"t":{"27":{"position":[[146,4]]},"31":{"position":[[769,4]]}}}],["alert",{"_index":1589,"t":{"99":{"position":[[167,6],[258,5],[291,5]]},"101":{"position":[[20,6],[355,5],[447,5],[492,5],[557,5],[694,5]]},"331":{"position":[[125,5]]},"333":{"position":[[518,5]]},"355":{"position":[[214,5]]},"361":{"position":[[1708,5],[1838,6],[1883,6],[1957,5],[2044,5],[2158,5],[2218,5],[2275,5]]}}}],["alerting",{"_index":1031,"t":{"38":{"position":[[821,8]]},"341":{"position":[[125,8]]}}}],["alerts",{"_index":1017,"t":{"38":{"position":[[426,6]]},"44":{"position":[[486,6]]},"97":{"position":[[1279,7],[1307,6]]},"99":{"position":[[32,6],[78,6],[190,6]]},"101":{"position":[[45,6]]},"103":{"position":[[35,6]]},"331":{"position":[[36,6]]},"333":{"position":[[359,6]]},"341":{"position":[[196,7]]},"361":{"position":[[1805,6],[2403,6]]}}}],["algorithm",{"_index":2209,"t":{"242":{"position":[[315,11]]}}}],["aliases",{"_index":2153,"t":{"194":{"position":[[51,7],[102,7]]}}}],["allocation",{"_index":2559,"t":{"374":{"position":[[534,10],[651,10]]}}}],["allow",{"_index":2224,"t":{"266":{"position":[[363,5]]},"317":{"position":[[97,5]]}}}],["allowed",{"_index":1962,"t":{"141":{"position":[[826,7]]}}}],["allowing",{"_index":1087,"t":{"42":{"position":[[214,8]]},"351":{"position":[[327,8]]}}}],["allows",{"_index":20,"t":{"3":{"position":[[244,6]]},"40":{"position":[[783,6]]},"42":{"position":[[327,6]]},"72":{"position":[[12,6]]},"113":{"position":[[109,6]]},"115":{"position":[[735,6]]},"119":{"position":[[232,6]]},"151":{"position":[[124,6]]},"158":{"position":[[173,6]]},"160":{"position":[[1727,6]]},"200":{"position":[[678,6]]},"307":{"position":[[161,6]]}}}],["along",{"_index":1437,"t":{"67":{"position":[[94,5]]},"121":{"position":[[384,5]]}}}],["already",{"_index":2180,"t":{"207":{"position":[[450,7]]},"238":{"position":[[182,7]]},"240":{"position":[[342,7]]},"293":{"position":[[114,7]]},"295":{"position":[[205,7]]}}}],["alternatively",{"_index":2263,"t":{"295":{"position":[[327,14]]}}}],["alternatives",{"_index":2133,"t":{"186":{"position":[[509,12],[745,12]]}}}],["always",{"_index":85,"t":{"3":{"position":[[1182,6],[1196,6],[1270,6],[1595,6]]},"7":{"position":[[1747,6]]},"23":{"position":[[90,6]]},"200":{"position":[[272,6]]},"207":{"position":[[610,6]]}}}],["ambiguity",{"_index":1457,"t":{"72":{"position":[[256,9]]}}}],["ambiguous",{"_index":1487,"t":{"81":{"position":[[26,10]]}}}],["amount",{"_index":147,"t":{"3":{"position":[[2296,6],[2647,6]]},"9":{"position":[[1174,6],[2929,6]]},"160":{"position":[[417,6],[601,6]]},"192":{"position":[[628,6]]},"361":{"position":[[1325,6]]}}}],["ample",{"_index":109,"t":{"3":{"position":[[1610,5]]}}}],["analogy",{"_index":413,"t":{"7":{"position":[[240,8]]}}}],["analysis",{"_index":1416,"t":{"65":{"position":[[275,8]]},"97":{"position":[[274,9],[673,8]]},"190":{"position":[[101,9]]},"329":{"position":[[172,8]]},"371":{"position":[[1581,9]]},"380":{"position":[[3039,9]]}}}],["analytics",{"_index":2383,"t":{"327":{"position":[[298,9]]},"333":{"position":[[391,9]]},"374":{"position":[[69,9],[471,9],[1706,9]]}}}],["analyze",{"_index":1796,"t":{"123":{"position":[[12,7]]}}}],["analyzed",{"_index":1408,"t":{"65":{"position":[[22,8]]}}}],["analyzing",{"_index":2560,"t":{"374":{"position":[[564,9]]}}}],["another",{"_index":1595,"t":{"101":{"position":[[167,8]]},"107":{"position":[[711,7]]},"207":{"position":[[560,7]]},"266":{"position":[[522,7]]}}}],["answer",{"_index":84,"t":{"3":{"position":[[1165,6]]},"5":{"position":[[1693,6]]},"42":{"position":[[1217,6]]},"63":{"position":[[355,6]]},"65":{"position":[[166,7]]},"69":{"position":[[613,6]]},"72":{"position":[[578,6]]},"95":{"position":[[435,6],[607,6]]},"101":{"position":[[93,6],[134,6],[204,6]]},"107":{"position":[[272,7]]},"115":{"position":[[709,7]]},"158":{"position":[[865,7]]},"160":{"position":[[1592,6]]},"196":{"position":[[67,6]]},"198":{"position":[[652,6]]},"200":{"position":[[65,6]]},"361":{"position":[[1982,6]]},"371":{"position":[[1189,6],[1217,6]]},"380":{"position":[[2112,6]]}}}],["answer(s",{"_index":2493,"t":{"361":{"position":[[2013,9]]}}}],["answered",{"_index":1451,"t":{"72":{"position":[[133,8]]},"75":{"position":[[35,8]]}}}],["answering",{"_index":28,"t":{"3":{"position":[[315,9]]}}}],["answers",{"_index":116,"t":{"3":{"position":[[1699,7]]},"42":{"position":[[1781,7]]},"115":{"position":[[539,7],[597,7]]},"160":{"position":[[2078,7]]}}}],["anything",{"_index":2422,"t":{"341":{"position":[[71,8]]}}}],["api",{"_index":1069,"t":{"40":{"position":[[1204,3]]},"46":{"position":[[40,3],[445,3]]},"52":{"position":[[0,3]]},"58":{"position":[[16,3],[69,3]]},"69":{"position":[[145,3],[238,4]]},"87":{"position":[[93,3],[184,3],[215,3]]},"89":{"position":[[40,3]]},"91":{"position":[[91,4]]},"93":{"position":[[33,3],[49,3],[104,3],[174,3],[253,3],[307,3]]},"95":{"position":[[21,3],[577,3],[1187,3]]},"139":{"position":[[85,3]]},"141":{"position":[[40,3],[968,3]]},"188":{"position":[[122,3]]},"192":{"position":[[943,3]]},"221":{"position":[[122,3]]},"235":{"position":[[122,3]]},"242":{"position":[[335,3]]},"262":{"position":[[122,3]]},"290":{"position":[[122,3]]},"305":{"position":[[87,3]]},"331":{"position":[[70,4]]},"335":{"position":[[40,3],[134,3],[208,3]]},"361":{"position":[[123,3],[186,3],[260,3]]},"371":{"position":[[57,3],[1573,3]]},"380":{"position":[[57,3],[3031,3]]}}}],["api_2gdxmflhj",{"_index":1348,"t":{"52":{"position":[[81,16]]}}}],["apiexception",{"_index":1567,"t":{"97":{"position":[[926,14]]},"141":{"position":[[80,13],[187,13],[392,12]]},"145":{"position":[[73,13]]},"371":{"position":[[265,12],[1309,12]]}}}],["app",{"_index":1057,"t":{"40":{"position":[[910,3],[1009,3]]},"44":{"position":[[2498,3]]}}}],["appear",{"_index":523,"t":{"9":{"position":[[1710,6]]},"119":{"position":[[358,6]]}}}],["appearing",{"_index":387,"t":{"5":{"position":[[4437,9]]}}}],["appendices",{"_index":892,"t":{"25":{"position":[[855,10]]}}}],["appendix",{"_index":795,"t":{"21":{"position":[[1884,8]]}}}],["apple",{"_index":2075,"t":{"164":{"position":[[163,5]]}}}],["application",{"_index":972,"t":{"34":{"position":[[516,11]]},"36":{"position":[[489,11]]},"38":{"position":[[4,11],[195,11]]},"40":{"position":[[69,11]]},"42":{"position":[[153,11],[338,11],[510,11],[646,11],[2454,11],[3132,11]]},"44":{"position":[[108,11],[287,11],[1324,11],[1553,11],[2018,11],[2093,11],[3524,11]]},"48":{"position":[[35,12],[161,11],[518,11]]},"101":{"position":[[597,11]]},"109":{"position":[[339,11],[973,11],[1052,11],[1136,11]]},"115":{"position":[[119,11],[250,11],[499,12]]},"119":{"position":[[121,11],[1080,12]]},"147":{"position":[[52,11],[185,12]]},"149":{"position":[[154,11]]},"151":{"position":[[136,11]]},"153":{"position":[[12,11]]},"155":{"position":[[124,11]]},"160":{"position":[[167,11]]},"217":{"position":[[149,11]]},"231":{"position":[[150,11]]},"327":{"position":[[72,12]]},"333":{"position":[[59,11]]},"365":{"position":[[163,12],[217,11]]},"371":{"position":[[112,12],[971,11],[1474,11]]},"374":{"position":[[30,11],[172,11],[481,11],[804,11],[1915,12]]},"380":{"position":[[112,12],[1375,11],[2932,11]]}}}],["application's",{"_index":1149,"t":{"42":{"position":[[2134,13]]},"44":{"position":[[1517,13],[3441,13]]},"109":{"position":[[279,13]]},"158":{"position":[[1088,13]]}}}],["applications",{"_index":1040,"t":{"40":{"position":[[231,12],[1319,12]]},"60":{"position":[[98,12]]},"95":{"position":[[1237,12]]},"97":{"position":[[118,12],[191,12],[356,12],[600,13],[1400,13],[1425,13],[1541,13],[1595,13],[1664,12]]},"139":{"position":[[14,12]]},"155":{"position":[[251,12]]},"168":{"position":[[240,12]]},"188":{"position":[[164,12]]},"221":{"position":[[164,12]]},"235":{"position":[[164,12]]},"262":{"position":[[164,12]]},"290":{"position":[[164,12]]},"295":{"position":[[140,12]]},"323":{"position":[[22,12]]},"325":{"position":[[492,12]]},"343":{"position":[[91,12]]},"361":{"position":[[581,13]]}}}],["applied",{"_index":227,"t":{"5":{"position":[[981,7]]}}}],["apply",{"_index":570,"t":{"11":{"position":[[316,5]]},"97":{"position":[[1452,5]]},"319":{"position":[[121,5],[176,5]]}}}],["approach",{"_index":1247,"t":{"44":{"position":[[2302,8]]},"48":{"position":[[320,9]]}}}],["appropriate",{"_index":728,"t":{"19":{"position":[[250,11]]},"42":{"position":[[2523,11]]},"149":{"position":[[21,11]]}}}],["approximate",{"_index":167,"t":{"3":{"position":[[2692,11]]}}}],["approximates",{"_index":856,"t":{"23":{"position":[[1104,12]]}}}],["approximating",{"_index":822,"t":{"23":{"position":[[217,13]]}}}],["approximation",{"_index":825,"t":{"23":{"position":[[306,13],[1778,14]]}}}],["app’s",{"_index":1052,"t":{"40":{"position":[[762,5]]}}}],["apt",{"_index":2112,"t":{"184":{"position":[[119,3],[135,3]]},"186":{"position":[[352,3],[393,3]]}}}],["arch",{"_index":2115,"t":{"184":{"position":[[245,4]]}}}],["architecture",{"_index":987,"t":{"34":{"position":[[776,12]]},"36":{"position":[[749,12]]},"40":{"position":[[557,12],[612,12]]},"42":{"position":[[49,12],[265,12],[3103,12]]},"44":{"position":[[550,12]]}}}],["arduino",{"_index":2245,"t":{"272":{"position":[[33,7],[223,8]]}}}],["area",{"_index":922,"t":{"29":{"position":[[430,4],[556,4],[673,4]]},"374":{"position":[[1830,5]]}}}],["areas",{"_index":924,"t":{"29":{"position":[[506,6],[722,6]]},"325":{"position":[[111,6]]},"374":{"position":[[1395,5],[1539,6]]}}}],["arm",{"_index":1794,"t":{"121":{"position":[[790,3]]},"215":{"position":[[114,3]]},"217":{"position":[[120,3]]},"229":{"position":[[114,3]]},"231":{"position":[[121,3]]},"315":{"position":[[7,3]]}}}],["arms",{"_index":2458,"t":{"351":{"position":[[93,5]]}}}],["armv7.yml",{"_index":2322,"t":{"315":{"position":[[87,10],[135,9]]}}}],["around",{"_index":374,"t":{"5":{"position":[[4046,6]]},"25":{"position":[[426,6]]},"31":{"position":[[14,6]]},"44":{"position":[[709,6]]},"299":{"position":[[249,6]]}}}],["array",{"_index":1910,"t":{"137":{"position":[[1184,6]]}}}],["arrays",{"_index":1820,"t":{"127":{"position":[[794,6]]},"131":{"position":[[91,7]]},"135":{"position":[[125,7]]},"137":{"position":[[47,7],[637,6],[930,6]]}}}],["arrived",{"_index":1250,"t":{"44":{"position":[[2696,7],[3116,7]]}}}],["arrives",{"_index":1170,"t":{"42":{"position":[[2981,8]]}}}],["ask",{"_index":1450,"t":{"72":{"position":[[26,3]]},"81":{"position":[[126,3]]}}}],["ask.py",{"_index":1449,"t":{"69":{"position":[[321,6],[661,6]]},"95":{"position":[[78,6],[520,7]]}}}],["ask_async",{"_index":1111,"t":{"42":{"position":[[843,9]]},"107":{"position":[[139,9],[195,9],[402,9]]},"111":{"position":[[826,11]]},"194":{"position":[[141,10]]},"198":{"position":[[0,9]]},"200":{"position":[[352,9]]}}}],["ask_confident",{"_index":1683,"t":{"111":{"position":[[402,15]]},"194":{"position":[[114,14]]},"196":{"position":[[0,13]]},"200":{"position":[[331,13]]}}}],["ask_ml",{"_index":2154,"t":{"194":{"position":[[129,7]]},"200":{"position":[[0,6],[182,6]]}}}],["assembly",{"_index":2444,"t":{"347":{"position":[[251,9]]}}}],["assert",{"_index":1687,"t":{"111":{"position":[[772,6]]}}}],["assessing",{"_index":872,"t":{"25":{"position":[[59,9]]}}}],["assessment",{"_index":2016,"t":{"158":{"position":[[296,10]]}}}],["assist",{"_index":2431,"t":{"345":{"position":[[45,6]]}}}],["assistance",{"_index":2248,"t":{"272":{"position":[[159,10]]}}}],["associated",{"_index":258,"t":{"5":{"position":[[1632,10]]},"7":{"position":[[818,10]]},"11":{"position":[[679,10]]}}}],["assume",{"_index":1637,"t":{"107":{"position":[[747,6]]},"109":{"position":[[327,6]]}}}],["assuming",{"_index":936,"t":{"31":{"position":[[373,9]]},"174":{"position":[[0,8]]},"213":{"position":[[0,8]]},"227":{"position":[[0,8]]},"250":{"position":[[0,8]]},"278":{"position":[[0,8]]}}}],["assumption",{"_index":246,"t":{"5":{"position":[[1340,10]]}}}],["assumptions",{"_index":199,"t":{"5":{"position":[[397,12]]}}}],["async",{"_index":1678,"t":{"111":{"position":[[160,5],[745,5]]}}}],["asynchronous",{"_index":1569,"t":{"97":{"position":[[981,12],[1039,12]]},"105":{"position":[[55,12]]}}}],["asynchronously",{"_index":1570,"t":{"97":{"position":[[1089,14]]},"107":{"position":[[114,14]]},"111":{"position":[[31,15]]},"198":{"position":[[63,15],[345,14],[785,15]]}}}],["attached",{"_index":1278,"t":{"46":{"position":[[531,8]]}}}],["attempting",{"_index":1677,"t":{"111":{"position":[[94,10]]}}}],["attention",{"_index":2515,"t":{"365":{"position":[[387,9]]}}}],["audio",{"_index":2391,"t":{"329":{"position":[[181,5]]}}}],["audit",{"_index":2181,"t":{"207":{"position":[[510,5]]}}}],["auroc",{"_index":78,"t":{"3":{"position":[[1073,6]]}}}],["authenticate",{"_index":1345,"t":{"52":{"position":[[11,12]]}}}],["authentication",{"_index":1275,"t":{"46":{"position":[[152,15],[494,15]]}}}],["authoritative",{"_index":2182,"t":{"207":{"position":[[637,14]]}}}],["automate",{"_index":2352,"t":{"325":{"position":[[135,8]]}}}],["automated",{"_index":2375,"t":{"327":{"position":[[176,9]]},"331":{"position":[[26,9]]}}}],["automatically",{"_index":1292,"t":{"46":{"position":[[1103,13]]},"48":{"position":[[685,13]]},"52":{"position":[[262,13]]},"65":{"position":[[73,13]]},"115":{"position":[[884,13]]},"151":{"position":[[183,14]]},"215":{"position":[[142,13]]},"229":{"position":[[142,13]]}}}],["automating",{"_index":2432,"t":{"345":{"position":[[55,10]]}}}],["automation",{"_index":2356,"t":{"325":{"position":[[214,11]]},"329":{"position":[[22,10]]},"343":{"position":[[148,10]]},"347":{"position":[[60,10]]}}}],["available",{"_index":172,"t":{"3":{"position":[[2909,10]]},"13":{"position":[[2165,9]]},"25":{"position":[[581,9]]},"111":{"position":[[452,9]]},"119":{"position":[[570,9]]},"272":{"position":[[84,9]]},"299":{"position":[[308,9]]},"305":{"position":[[95,10]]},"374":{"position":[[713,9]]}}}],["average",{"_index":63,"t":{"3":{"position":[[777,7]]},"19":{"position":[[1120,7]]}}}],["averaged",{"_index":812,"t":{"21":{"position":[[2911,8]]}}}],["averages",{"_index":815,"t":{"21":{"position":[[3040,8]]}}}],["averaging",{"_index":807,"t":{"21":{"position":[[2405,9]]}}}],["avoid",{"_index":1977,"t":{"145":{"position":[[87,5]]}}}],["avoiding",{"_index":1191,"t":{"44":{"position":[[467,8]]}}}],["await",{"_index":1279,"t":{"46":{"position":[[576,5]]}}}],["away",{"_index":1420,"t":{"65":{"position":[[392,4]]},"380":{"position":[[1539,4]]}}}],["aws",{"_index":2312,"t":{"311":{"position":[[254,3]]}}}],["axes",{"_index":1792,"t":{"121":{"position":[[548,4]]}}}],["axis",{"_index":467,"t":{"7":{"position":[[1350,4],[1410,4],[1559,5]]},"121":{"position":[[396,5]]}}}],["b13vgk",{"_index":1768,"t":{"121":{"position":[[125,6]]}}}],["back",{"_index":677,"t":{"15":{"position":[[10,4]]},"50":{"position":[[60,5]]},"65":{"position":[[617,4]]},"361":{"position":[[2290,4]]}}}],["background",{"_index":2420,"t":{"339":{"position":[[1091,11]]},"361":{"position":[[1386,10]]}}}],["backoff",{"_index":1991,"t":{"151":{"position":[[41,7]]}}}],["bad",{"_index":1471,"t":{"72":{"position":[[721,3]]},"141":{"position":[[671,3]]}}}],["balance",{"_index":1919,"t":{"137":{"position":[[1573,7]]},"158":{"position":[[187,7]]},"160":{"position":[[1741,7]]}}}],["balanced",{"_index":62,"t":{"3":{"position":[[733,8],[752,8],[986,8],[1414,8],[1537,8],[1898,8],[2069,8],[2254,8],[3054,8]]},"5":{"position":[[51,8]]},"13":{"position":[[191,8]]},"17":{"position":[[1234,8]]},"19":{"position":[[16,8],[212,8],[1079,8]]},"21":{"position":[[57,8],[2384,8],[2960,8],[2993,8]]},"25":{"position":[[204,8],[433,8]]},"27":{"position":[[161,8]]},"31":{"position":[[827,8]]}}}],["balena",{"_index":1737,"t":{"117":{"position":[[157,7]]}}}],["bars",{"_index":150,"t":{"3":{"position":[[2413,4]]}}}],["bar{p}(n",{"_index":623,"t":{"13":{"position":[[1544,12]]}}}],["based",{"_index":168,"t":{"3":{"position":[[2725,5],[2814,5]]},"15":{"position":[[228,5]]},"21":{"position":[[93,5],[541,5]]},"23":{"position":[[1675,5],[1758,5]]},"42":{"position":[[2154,5]]},"44":{"position":[[3343,5]]},"46":{"position":[[267,5]]},"75":{"position":[[86,5]]},"97":{"position":[[1482,5]]},"99":{"position":[[39,5]]},"105":{"position":[[427,5]]},"109":{"position":[[266,5],[868,5],[959,5],[1038,5],[1122,5]]},"121":{"position":[[803,5]]},"129":{"position":[[945,5]]},"158":{"position":[[1074,5]]},"184":{"position":[[99,5],[201,5]]},"272":{"position":[[41,5]]},"325":{"position":[[31,5]]},"343":{"position":[[24,5]]},"374":{"position":[[1909,5]]}}}],["basics",{"_index":2129,"t":{"186":{"position":[[381,6]]}}}],["basler",{"_index":1809,"t":{"127":{"position":[[277,6],[297,6]]}}}],["bayesian",{"_index":938,"t":{"31":{"position":[[723,8]]}}}],["become",{"_index":1139,"t":{"42":{"position":[[1844,6],[2012,6]]},"48":{"position":[[366,6]]},"160":{"position":[[2013,6]]},"345":{"position":[[297,6]]}}}],["becomes",{"_index":950,"t":{"34":{"position":[[178,7]]},"36":{"position":[[151,7]]},"160":{"position":[[662,7]]}}}],["before",{"_index":1389,"t":{"60":{"position":[[128,6]]},"107":{"position":[[1389,6]]},"137":{"position":[[1018,6],[1226,6]]},"317":{"position":[[0,6]]},"371":{"position":[[1432,6]]}}}],["begin",{"_index":2089,"t":{"168":{"position":[[216,5]]},"311":{"position":[[3,6]]},"339":{"position":[[276,5],[706,5]]},"361":{"position":[[2325,5]]}}}],["behavior",{"_index":2566,"t":{"374":{"position":[[853,9]]}}}],["behaviors",{"_index":2004,"t":{"153":{"position":[[176,10]]}}}],["behind",{"_index":157,"t":{"3":{"position":[[2524,6]]}}}],["being",{"_index":420,"t":{"7":{"position":[[387,5]]},"361":{"position":[[1142,5]]},"374":{"position":[[240,5]]}}}],["bell",{"_index":464,"t":{"7":{"position":[[1330,5],[1765,4]]}}}],["below",{"_index":346,"t":{"5":{"position":[[3492,5]]},"7":{"position":[[1173,5],[1844,6]]},"9":{"position":[[778,5],[1841,5]]},"13":{"position":[[2635,6]]},"17":{"position":[[727,6]]},"21":{"position":[[2885,6]]},"25":{"position":[[866,6]]},"29":{"position":[[407,5]]},"162":{"position":[[177,6]]},"184":{"position":[[182,7]]}}}],["belt",{"_index":1461,"t":{"72":{"position":[[368,4],[434,6]]}}}],["benchmark",{"_index":1788,"t":{"121":{"position":[[406,9]]}}}],["benchmarked",{"_index":1761,"t":{"121":{"position":[[8,11]]}}}],["beneficial",{"_index":1092,"t":{"42":{"position":[[294,10]]},"374":{"position":[[500,10]]}}}],["benefit",{"_index":817,"t":{"23":{"position":[[9,7]]}}}],["best",{"_index":1972,"t":{"143":{"position":[[52,4]]},"155":{"position":[[199,4]]},"200":{"position":[[392,4]]}}}],["better",{"_index":397,"t":{"5":{"position":[[4671,6]]},"25":{"position":[[647,6]]},"207":{"position":[[285,6]]}}}],["between",{"_index":1712,"t":{"115":{"position":[[106,7]]},"147":{"position":[[113,7]]},"158":{"position":[[210,7]]},"351":{"position":[[181,7]]}}}],["bgr",{"_index":1821,"t":{"127":{"position":[[804,3]]},"135":{"position":[[158,3]]},"137":{"position":[[100,3],[463,3],[530,3],[572,3],[675,3],[754,3],[1312,3]]}}}],["bgr_img",{"_index":1912,"t":{"137":{"position":[[1322,7]]}}}],["bias",{"_index":407,"t":{"7":{"position":[[163,4],[551,5],[1037,4],[1868,4]]},"13":{"position":[[376,4]]}}}],["biased",{"_index":428,"t":{"7":{"position":[[533,6]]},"9":{"position":[[106,6]]},"13":{"position":[[358,6]]},"15":{"position":[[156,6]]}}}],["binary",{"_index":67,"t":{"3":{"position":[[862,6]]},"5":{"position":[[1643,6]]},"19":{"position":[[40,6]]},"44":{"position":[[368,6]]},"72":{"position":[[105,6],[654,6]]},"75":{"position":[[17,6]]},"83":{"position":[[14,6]]},"85":{"position":[[23,7]]},"299":{"position":[[53,6]]},"315":{"position":[[30,6]]},"361":{"position":[[281,6]]}}}],["binary_classification",{"_index":1545,"t":{"95":{"position":[[1092,25]]}}}],["binom",{"_index":658,"t":{"13":{"position":[[2666,5]]}}}],["binom.cdf",{"_index":638,"t":{"13":{"position":[[2219,10]]}}}],["binom.cdf(k",{"_index":665,"t":{"13":{"position":[[2867,12]]}}}],["binomial",{"_index":160,"t":{"3":{"position":[[2583,8],[2827,8]]},"7":{"position":[[416,8],[1240,8],[1726,8],[1804,8]]},"9":{"position":[[803,8],[1323,8],[1502,8],[2390,8],[3117,8]]},"13":{"position":[[1460,8],[2149,8]]},"15":{"position":[[820,8]]},"21":{"position":[[554,8]]},"23":{"position":[[50,8],[235,8],[382,8],[1688,8]]}}}],["binomial's",{"_index":567,"t":{"11":{"position":[[147,10]]},"13":{"position":[[233,10]]}}}],["binomial_upper_bound(n",{"_index":660,"t":{"13":{"position":[[2676,23]]}}}],["bird",{"_index":2469,"t":{"355":{"position":[[173,4],[230,4]]},"357":{"position":[[128,4]]},"361":{"position":[[352,4],[773,4],[1735,4],[1898,5],[1927,4],[2143,4],[2417,4]]}}}],["birds",{"_index":2394,"t":{"331":{"position":[[201,5]]}}}],["birdwatching",{"_index":2478,"t":{"361":{"position":[[520,12]]}}}],["bisection",{"_index":655,"t":{"13":{"position":[[2599,9]]}}}],["bit",{"_index":529,"t":{"9":{"position":[[1886,3]]},"34":{"position":[[68,3]]},"36":{"position":[[41,3]]},"38":{"position":[[764,3]]},"44":{"position":[[1822,3]]},"315":{"position":[[3,3]]}}}],["black",{"_index":365,"t":{"5":{"position":[[3855,5]]},"77":{"position":[[91,5]]}}}],["blocked",{"_index":1938,"t":{"141":{"position":[[320,10]]}}}],["blocking",{"_index":1103,"t":{"42":{"position":[[589,8]]}}}],["blog",{"_index":138,"t":{"3":{"position":[[2127,4],[2488,4]]}}}],["blue",{"_index":363,"t":{"5":{"position":[[3792,4]]},"137":{"position":[[1407,4]]}}}],["board",{"_index":2218,"t":{"264":{"position":[[84,6]]},"266":{"position":[[108,6],[229,5],[341,6]]}}}],["boards",{"_index":2234,"t":{"270":{"position":[[26,7],[51,6]]}}}],["body",{"_index":2602,"t":{"380":{"position":[[808,6]]}}}],["body=daily_summary",{"_index":2661,"t":{"380":{"position":[[2874,19]]}}}],["boilerplate",{"_index":1274,"t":{"46":{"position":[[130,11]]}}}],["bool",{"_index":1224,"t":{"44":{"position":[[1200,6],[1269,5]]}}}],["bot",{"_index":1067,"t":{"40":{"position":[[1132,3],[1200,3]]},"42":{"position":[[2677,4],[2863,4],[2901,4],[2994,3]]},"46":{"position":[[36,3],[192,3],[301,3],[441,3],[688,4],[836,3],[914,3],[1093,3]]}}}],["both",{"_index":866,"t":{"23":{"position":[[1705,4]]},"160":{"position":[[105,4]]}}}],["bottlenecks",{"_index":2441,"t":{"347":{"position":[[97,12]]}}}],["bottom",{"_index":516,"t":{"9":{"position":[[1350,8],[2417,8],[3144,8]]},"17":{"position":[[888,7]]}}}],["bound",{"_index":144,"t":{"3":{"position":[[2232,5],[2990,6]]},"5":{"position":[[1211,5]]},"9":{"position":[[253,5],[492,5],[710,6],[1696,5],[1777,5],[1812,6],[3510,6]]},"11":{"position":[[269,5],[753,5]]},"13":{"position":[[554,6],[663,6],[693,5],[726,6],[844,5],[1104,6],[1486,5],[1955,6],[2759,5]]},"15":{"position":[[313,5],[400,5],[517,5],[561,5],[846,5]]},"17":{"position":[[393,5]]},"21":{"position":[[47,5],[1875,5],[2127,5]]},"23":{"position":[[199,5],[1406,5]]},"29":{"position":[[22,5],[372,5],[545,6]]},"31":{"position":[[122,5],[210,6],[282,5],[515,6],[603,5]]}}}],["bounded",{"_index":682,"t":{"15":{"position":[[195,7]]},"21":{"position":[[3014,7]]}}}],["bounding",{"_index":788,"t":{"21":{"position":[[1650,8]]},"31":{"position":[[354,8]]},"299":{"position":[[234,8]]}}}],["bounds",{"_index":572,"t":{"11":{"position":[[386,6],[457,6],[712,7]]},"13":{"position":[[92,7],[746,6],[1260,7]]},"15":{"position":[[85,6]]},"17":{"position":[[47,6],[162,6],[592,7],[812,6],[870,6],[913,6],[979,6],[1124,6]]},"21":{"position":[[493,6],[597,6],[1807,6],[1955,6],[2085,7],[2251,6],[2373,6],[2446,6],[2936,6],[3072,6]]},"23":{"position":[[26,6]]}}}],["box",{"_index":2335,"t":{"317":{"position":[[283,3]]}}}],["boxes",{"_index":1462,"t":{"72":{"position":[[373,7],[412,5]]},"299":{"position":[[243,5]]}}}],["break",{"_index":1230,"t":{"44":{"position":[[1407,5]]}}}],["brew",{"_index":2217,"t":{"260":{"position":[[117,4]]}}}],["brief",{"_index":891,"t":{"25":{"position":[[849,5]]}}}],["brings",{"_index":136,"t":{"3":{"position":[[2094,6]]}}}],["broad",{"_index":1979,"t":{"145":{"position":[[102,5]]}}}],["brodersen",{"_index":899,"t":{"27":{"position":[[132,10]]},"31":{"position":[[756,9]]}}}],["broken",{"_index":1047,"t":{"40":{"position":[[628,6]]},"42":{"position":[[661,6]]}}}],["browser",{"_index":2225,"t":{"266":{"position":[[374,7],[530,7]]},"321":{"position":[[200,7]]}}}],["brush",{"_index":1118,"t":{"42":{"position":[[1117,6]]}}}],["build",{"_index":1033,"t":{"40":{"position":[[39,5]]},"63":{"position":[[0,5]]},"97":{"position":[[105,5]]},"139":{"position":[[143,5]]},"143":{"position":[[92,5]]},"240":{"position":[[223,5]]},"329":{"position":[[243,5]]},"341":{"position":[[110,5]]}}}],["building",{"_index":1076,"t":{"40":{"position":[[1310,8]]},"95":{"position":[[1228,8]]},"97":{"position":[[347,8],[1639,8]]},"139":{"position":[[5,8]]},"188":{"position":[[155,8]]},"221":{"position":[[155,8]]},"235":{"position":[[155,8]]},"262":{"position":[[155,8]]},"270":{"position":[[95,8]]},"290":{"position":[[155,8]]}}}],["built",{"_index":1314,"t":{"48":{"position":[[643,5]]},"129":{"position":[[257,5]]}}}],["bunch",{"_index":2199,"t":{"240":{"position":[[25,5]]}}}],["busier",{"_index":2567,"t":{"374":{"position":[[871,6]]}}}],["business",{"_index":1268,"t":{"44":{"position":[[3487,9]]},"299":{"position":[[326,9]]}}}],["business's",{"_index":2617,"t":{"380":{"position":[[1137,10]]}}}],["button",{"_index":1592,"t":{"99":{"position":[[297,7]]},"337":{"position":[[96,7]]}}}],["c",{"_index":2099,"t":{"178":{"position":[[125,1]]},"254":{"position":[[125,1]]},"282":{"position":[[125,1]]}}}],["cable",{"_index":2221,"t":{"266":{"position":[[265,6]]}}}],["calibrated",{"_index":2017,"t":{"158":{"position":[[365,10]]}}}],["calibration",{"_index":2022,"t":{"158":{"position":[[675,11]]}}}],["call",{"_index":253,"t":{"5":{"position":[[1493,4]]},"87":{"position":[[194,4]]},"95":{"position":[[0,4]]},"127":{"position":[[505,4]]},"141":{"position":[[44,5]]},"158":{"position":[[119,4]]},"203":{"position":[[203,5]]}}}],["called",{"_index":317,"t":{"5":{"position":[[2922,6]]},"17":{"position":[[255,6]]},"113":{"position":[[372,6]]},"200":{"position":[[175,6]]}}}],["calling",{"_index":2159,"t":{"198":{"position":[[101,7]]}}}],["calls",{"_index":1925,"t":{"139":{"position":[[89,6]]}}}],["cam",{"_index":1867,"t":{"135":{"position":[[326,3]]},"270":{"position":[[272,3]]}}}],["cam.read",{"_index":1872,"t":{"135":{"position":[[408,10]]}}}],["cam.release",{"_index":1874,"t":{"135":{"position":[[510,13]]}}}],["camera",{"_index":984,"t":{"34":{"position":[[723,6]]},"36":{"position":[[696,6]]},"40":{"position":[[327,6],[365,6]]},"42":{"position":[[754,6],[1477,6]]},"101":{"position":[[669,6]]},"105":{"position":[[311,6]]},"107":{"position":[[971,6]]},"123":{"position":[[85,6]]},"127":{"position":[[625,6]]},"135":{"position":[[365,6],[538,6]]},"168":{"position":[[85,6]]},"264":{"position":[[77,6]]},"266":{"position":[[101,6],[222,6],[334,6]]},"270":{"position":[[192,6],[241,6]]},"305":{"position":[[52,6]]},"307":{"position":[[435,6]]},"333":{"position":[[499,6]]},"367":{"position":[[79,6]]},"371":{"position":[[325,6]]},"374":{"position":[[1768,6],[1840,6]]},"376":{"position":[[79,6]]},"380":{"position":[[424,6]]}}}],["cameras",{"_index":1004,"t":{"38":{"position":[[182,8]]},"40":{"position":[[270,7]]},"42":{"position":[[415,8],[459,7]]},"127":{"position":[[52,7],[195,7],[288,8],[309,8],[344,8]]},"137":{"position":[[784,7]]},"363":{"position":[[307,8]]}}}],["campaigns",{"_index":2574,"t":{"374":{"position":[[1001,9]]}}}],["can't",{"_index":645,"t":{"13":{"position":[[2382,5]]}}}],["cap",{"_index":2521,"t":{"371":{"position":[[367,3]]},"380":{"position":[[466,3]]}}}],["cap.read",{"_index":2523,"t":{"371":{"position":[[406,10]]},"380":{"position":[[505,10]]}}}],["cap.release",{"_index":2524,"t":{"371":{"position":[[417,13]]},"380":{"position":[[516,13]]}}}],["capabilities",{"_index":1585,"t":{"97":{"position":[[1734,13]]},"323":{"position":[[72,12]]},"325":{"position":[[410,12]]},"329":{"position":[[230,12]]},"351":{"position":[[142,12]]}}}],["capture",{"_index":1797,"t":{"123":{"position":[[63,7],[147,7]]},"127":{"position":[[416,7],[531,7]]},"135":{"position":[[421,7]]},"329":{"position":[[160,7]]},"331":{"position":[[99,7]]},"371":{"position":[[299,7],[1395,7]]},"380":{"position":[[398,7],[1902,7]]}}}],["capture_image",{"_index":2520,"t":{"371":{"position":[[350,16],[1090,15],[1514,13]]},"380":{"position":[[449,16],[1855,15],[2972,13]]}}}],["captured",{"_index":1834,"t":{"129":{"position":[[444,8],[779,11]]},"190":{"position":[[37,8]]}}}],["capturer",{"_index":1108,"t":{"42":{"position":[[703,9],[1390,9],[1449,8],[1740,8],[1947,8]]}}}],["captures",{"_index":1109,"t":{"42":{"position":[[731,8]]},"371":{"position":[[1486,8]]},"380":{"position":[[2944,8]]}}}],["capturing",{"_index":2306,"t":{"307":{"position":[[408,9]]}}}],["car",{"_index":1452,"t":{"72":{"position":[[196,3]]},"95":{"position":[[245,3],[687,3]]},"129":{"position":[[214,3]]}}}],["cardboard",{"_index":1464,"t":{"72":{"position":[[402,9]]}}}],["care",{"_index":38,"t":{"3":{"position":[[448,4],[521,4]]}}}],["careful",{"_index":2,"t":{"3":{"position":[[23,7]]}}}],["cars",{"_index":2281,"t":{"299":{"position":[[529,4]]}}}],["case",{"_index":10,"t":{"3":{"position":[[121,5]]},"5":{"position":[[435,4],[4337,5]]},"31":{"position":[[442,5],[541,5]]},"158":{"position":[[110,5]]}}}],["cases",{"_index":52,"t":{"3":{"position":[[612,5]]},"11":{"position":[[564,6]]},"31":{"position":[[311,5]]},"97":{"position":[[220,6]]},"119":{"position":[[440,6]]},"160":{"position":[[8,6]]}}}],["casual",{"_index":2479,"t":{"361":{"position":[[546,6]]}}}],["catch",{"_index":1974,"t":{"145":{"position":[[0,5]]},"155":{"position":[[84,5]]}}}],["catching",{"_index":1978,"t":{"145":{"position":[[93,8]]}}}],["categories",{"_index":2284,"t":{"301":{"position":[[45,11]]}}}],["cause",{"_index":2212,"t":{"244":{"position":[[123,5]]}}}],["cd",{"_index":2310,"t":{"311":{"position":[[177,2]]},"321":{"position":[[105,2]]}}}],["cdf",{"_index":446,"t":{"7":{"position":[[805,5],[1070,3],[1212,3],[1476,3],[1569,3]]},"9":{"position":[[1346,3],[1398,3],[1491,3],[2413,3],[2465,3],[3140,3],[3192,3]]},"13":{"position":[[244,3],[2017,3],[2158,3],[2345,3]]},"21":{"position":[[563,4]]},"23":{"position":[[59,3],[1697,3]]}}}],["cdf(mid",{"_index":672,"t":{"13":{"position":[[3001,8]]}}}],["cdf(p",{"_index":663,"t":{"13":{"position":[[2852,7]]}}}],["celebrates",{"_index":1337,"t":{"50":{"position":[[423,10]]}}}],["celebrating",{"_index":1025,"t":{"38":{"position":[[631,11]]}}}],["centers",{"_index":2436,"t":{"345":{"position":[[154,8]]}}}],["central",{"_index":706,"t":{"17":{"position":[[264,7],[322,7],[519,7],[699,7],[759,7],[1081,7],[1201,7]]},"23":{"position":[[335,7]]}}}],["certain",{"_index":2044,"t":{"160":{"position":[[409,7],[593,7]]},"192":{"position":[[620,7]]}}}],["challenging",{"_index":1257,"t":{"44":{"position":[[3235,11]]},"115":{"position":[[786,11]]},"160":{"position":[[15,11]]}}}],["chance",{"_index":506,"t":{"9":{"position":[[1052,6],[1423,6],[1540,6],[1935,6],[2492,6],[3216,6]]},"38":{"position":[[699,6]]}}}],["change",{"_index":1302,"t":{"48":{"position":[[294,6]]},"129":{"position":[[1046,7]]},"137":{"position":[[1070,6]]},"198":{"position":[[566,6]]},"321":{"position":[[300,6]]}}}],["changed",{"_index":1846,"t":{"129":{"position":[[989,8]]}}}],["changes",{"_index":1594,"t":{"101":{"position":[[141,7],[189,7]]},"129":{"position":[[153,7]]}}}],["changing",{"_index":2236,"t":{"270":{"position":[[133,8]]}}}],["channel",{"_index":1896,"t":{"137":{"position":[[430,7],[515,7],[1004,7],[1212,7],[1295,7]]}}}],["channel.send(\"message",{"_index":1280,"t":{"46":{"position":[[582,23]]}}}],["channels=wf.getnchannels",{"_index":2535,"t":{"371":{"position":[[754,27]]}}}],["characterizes",{"_index":423,"t":{"7":{"position":[[449,13]]}}}],["check",{"_index":1233,"t":{"44":{"position":[[1576,5],[2734,5]]},"50":{"position":[[295,5]]},"95":{"position":[[1205,5]]},"129":{"position":[[462,5]]},"178":{"position":[[3,5]]},"182":{"position":[[3,5]]},"203":{"position":[[29,5]]},"254":{"position":[[3,5]]},"258":{"position":[[3,5]]},"282":{"position":[[3,5]]},"286":{"position":[[3,5]]}}}],["checker",{"_index":1935,"t":{"141":{"position":[[279,9]]}}}],["checking",{"_index":2104,"t":{"180":{"position":[[259,9]]},"256":{"position":[[259,9]]},"284":{"position":[[259,9]]},"371":{"position":[[1439,8]]}}}],["checks",{"_index":1239,"t":{"44":{"position":[[1849,6],[2105,6]]},"374":{"position":[[273,6]]}}}],["cheesy",{"_index":1029,"t":{"38":{"position":[[739,7]]}}}],["choice",{"_index":383,"t":{"5":{"position":[[4347,6]]},"9":{"position":[[689,6],[1670,6],[3490,6]]}}}],["choose",{"_index":439,"t":{"7":{"position":[[718,7]]},"361":{"position":[[2023,6]]}}}],["chose",{"_index":1141,"t":{"42":{"position":[[1889,5]]}}}],["chrome",{"_index":2229,"t":{"266":{"position":[[512,6]]}}}],["chunk",{"_index":2528,"t":{"371":{"position":[[620,5]]}}}],["circled",{"_index":382,"t":{"5":{"position":[[4275,7]]}}}],["circles",{"_index":373,"t":{"5":{"position":[[4038,7]]}}}],["class",{"_index":91,"t":{"3":{"position":[[1304,5],[1440,5]]},"19":{"position":[[116,5],[169,6],[300,6],[348,5],[781,5]]},"21":{"position":[[2483,5]]},"44":{"position":[[1069,5]]},"301":{"position":[[80,5]]}}}],["class_names",{"_index":2285,"t":{"301":{"position":[[172,11]]}}}],["class_names=class_names",{"_index":2295,"t":{"301":{"position":[[344,23]]}}}],["classes",{"_index":64,"t":{"3":{"position":[[803,7]]},"147":{"position":[[35,7]]}}}],["classification",{"_index":681,"t":{"15":{"position":[[136,14]]},"27":{"position":[[61,15]]},"299":{"position":[[60,14]]}}}],["classifications",{"_index":630,"t":{"13":{"position":[[1824,15]]}}}],["classified",{"_index":340,"t":{"5":{"position":[[3426,10]]},"9":{"position":[[150,10],[446,10]]},"13":{"position":[[1369,10]]},"15":{"position":[[711,10]]},"21":{"position":[[347,10],[431,10]]}}}],["classifier",{"_index":190,"t":{"5":{"position":[[260,10],[449,10],[787,10],[1249,10],[1418,10],[1536,10],[1834,10],[3809,11]]},"9":{"position":[[286,10],[419,11],[932,10]]},"13":{"position":[[2786,10]]},"19":{"position":[[47,10]]},"21":{"position":[[82,10]]}}}],["classifier's",{"_index":211,"t":{"5":{"position":[[590,12],[667,12],[890,12]]},"7":{"position":[[47,12],[363,12]]},"9":{"position":[[980,12]]}}}],["classifiers",{"_index":573,"t":{"11":{"position":[[410,11],[507,12]]},"23":{"position":[[1521,11]]}}}],["classifies",{"_index":276,"t":{"5":{"position":[[1978,10],[2249,10],[2908,10],[3903,10]]},"13":{"position":[[2812,10]]}}}],["classify",{"_index":2283,"t":{"301":{"position":[[15,8]]}}}],["classifying",{"_index":415,"t":{"7":{"position":[[260,11]]}}}],["clean",{"_index":1001,"t":{"38":{"position":[[104,5]]},"42":{"position":[[2337,5]]}}}],["cleaning",{"_index":954,"t":{"34":{"position":[[246,8]]},"36":{"position":[[219,8]]},"42":{"position":[[1084,8]]},"50":{"position":[[468,8]]}}}],["cleanliness",{"_index":1494,"t":{"85":{"position":[[31,13]]}}}],["clear",{"_index":679,"t":{"15":{"position":[[56,5]]},"34":{"position":[[269,5]]},"36":{"position":[[242,5]]},"83":{"position":[[96,5]]},"133":{"position":[[213,7],[240,8]]},"374":{"position":[[1812,5]]}}}],["clearly",{"_index":861,"t":{"23":{"position":[[1480,7]]}}}],["click",{"_index":1381,"t":{"58":{"position":[[55,5]]},"60":{"position":[[41,5]]},"266":{"position":[[272,5]]},"317":{"position":[[287,5],[312,5]]},"337":{"position":[[176,5]]},"361":{"position":[[1820,5],[2243,5]]}}}],["clicking",{"_index":1591,"t":{"99":{"position":[[267,8]]},"337":{"position":[[70,8]]}}}],["clicks",{"_index":2220,"t":{"266":{"position":[[158,7]]}}}],["client",{"_index":2039,"t":{"160":{"position":[[110,6],[256,6],[366,6],[1458,6]]}}}],["clients",{"_index":1790,"t":{"121":{"position":[[499,7]]}}}],["clone",{"_index":2307,"t":{"311":{"position":[[10,5],[105,5]]},"321":{"position":[[37,5]]}}}],["close",{"_index":670,"t":{"13":{"position":[[2962,5]]},"23":{"position":[[1171,5],[1544,5],[1607,5]]}}}],["cloud",{"_index":1710,"t":{"113":{"position":[[572,5]]},"115":{"position":[[151,5],[302,5],[411,6],[573,5],[682,5]]},"119":{"position":[[100,5],[384,5],[496,5]]},"203":{"position":[[88,5]]}}}],["clouds",{"_index":1490,"t":{"81":{"position":[[147,6]]}}}],["cluster",{"_index":2338,"t":{"319":{"position":[[76,7]]}}}],["clutter",{"_index":1499,"t":{"85":{"position":[[136,7]]}}}],["cnc",{"_index":2354,"t":{"325":{"position":[[165,3],[451,3]]},"345":{"position":[[132,3]]},"351":{"position":[[269,3]]}}}],["cobot",{"_index":2367,"t":{"325":{"position":[[383,5]]},"351":{"position":[[79,5]]}}}],["code",{"_index":634,"t":{"13":{"position":[[2139,5]]},"38":{"position":[[165,6]]},"50":{"position":[[316,5]]},"52":{"position":[[29,4]]},"54":{"position":[[78,4]]},"95":{"position":[[501,4],[532,4]]},"97":{"position":[[144,5]]},"111":{"position":[[276,4]]},"113":{"position":[[611,4]]},"137":{"position":[[273,4]]},"139":{"position":[[156,4]]},"141":{"position":[[593,4],[618,5]]},"143":{"position":[[105,5]]},"207":{"position":[[245,4]]},"264":{"position":[[35,4]]},"272":{"position":[[11,4]]},"303":{"position":[[191,4]]}}}],["codes",{"_index":1953,"t":{"141":{"position":[[658,6]]}}}],["coin",{"_index":410,"t":{"7":{"position":[[189,4],[311,5],[325,4],[540,4]]},"9":{"position":[[43,4],[113,4]]},"13":{"position":[[365,4]]},"15":{"position":[[36,4],[163,4]]}}}],["coin's",{"_index":453,"t":{"7":{"position":[[1030,6]]}}}],["collaboration",{"_index":2460,"t":{"351":{"position":[[167,13]]}}}],["collaborative",{"_index":2368,"t":{"325":{"position":[[426,13]]}}}],["colleague",{"_index":1339,"t":{"50":{"position":[[442,10]]}}}],["colleagues",{"_index":1313,"t":{"48":{"position":[[627,10]]}}}],["collected",{"_index":2025,"t":{"158":{"position":[[750,10],[1480,10]]}}}],["collection",{"_index":912,"t":{"29":{"position":[[46,10]]}}}],["collects",{"_index":1171,"t":{"42":{"position":[[2998,8]]},"46":{"position":[[305,8]]}}}],["color",{"_index":361,"t":{"5":{"position":[[3768,5]]},"137":{"position":[[104,5],[758,5],[1567,5]]}}}],["colored",{"_index":149,"t":{"3":{"position":[[2405,7]]}}}],["combination",{"_index":1186,"t":{"44":{"position":[[353,11]]}}}],["combine",{"_index":2423,"t":{"341":{"position":[[150,7]]}}}],["combined",{"_index":2402,"t":{"333":{"position":[[333,8]]}}}],["combines",{"_index":1045,"t":{"40":{"position":[[479,8]]},"67":{"position":[[36,8]]}}}],["come",{"_index":1430,"t":{"65":{"position":[[612,4]]}}}],["comes",{"_index":826,"t":{"23":{"position":[[320,5]]},"38":{"position":[[586,5]]},"178":{"position":[[222,5]]},"240":{"position":[[293,5]]},"254":{"position":[[222,5]]}}}],["coming",{"_index":1617,"t":{"103":{"position":[[97,6]]}}}],["command",{"_index":2095,"t":{"176":{"position":[[60,7]]},"178":{"position":[[199,7]]},"180":{"position":[[88,8]]},"215":{"position":[[60,7]]},"229":{"position":[[60,7]]},"252":{"position":[[60,7]]},"254":{"position":[[199,7]]},"256":{"position":[[88,8]]},"280":{"position":[[60,7],[76,7]]},"284":{"position":[[88,8]]},"286":{"position":[[47,7]]},"331":{"position":[[157,7]]},"339":{"position":[[89,7],[564,8],[1155,8]]},"361":{"position":[[826,8]]}}}],["commands",{"_index":2446,"t":{"347":{"position":[[301,8]]}}}],["commercially",{"_index":80,"t":{"3":{"position":[[1095,12]]}}}],["commit",{"_index":1365,"t":{"54":{"position":[[61,6]]}}}],["commits",{"_index":996,"t":{"34":{"position":[[915,8]]},"36":{"position":[[888,8]]}}}],["common",{"_index":90,"t":{"3":{"position":[[1297,6]]},"9":{"position":[[2593,7]]},"72":{"position":[[76,6]]},"141":{"position":[[639,6]]}}}],["commonly",{"_index":820,"t":{"23":{"position":[[185,8]]},"244":{"position":[[6,8]]}}}],["communicating",{"_index":1709,"t":{"113":{"position":[[537,13]]}}}],["communication",{"_index":2464,"t":{"351":{"position":[[349,13]]}}}],["compare",{"_index":819,"t":{"23":{"position":[[163,7]]}}}],["compatibility",{"_index":1904,"t":{"137":{"position":[[731,13]]}}}],["compatible",{"_index":2187,"t":{"215":{"position":[[118,10]]},"229":{"position":[[118,10]]}}}],["complete",{"_index":2191,"t":{"219":{"position":[[6,8]]},"233":{"position":[[6,8]]},"363":{"position":[[461,8]]},"365":{"position":[[154,8]]}}}],["completed",{"_index":2088,"t":{"168":{"position":[[162,9]]}}}],["completely",{"_index":422,"t":{"7":{"position":[[438,10]]}}}],["complex",{"_index":970,"t":{"34":{"position":[[499,7],[822,7]]},"36":{"position":[[472,7],[795,7]]},"40":{"position":[[828,7],[938,8]]},"42":{"position":[[532,7],[2113,7]]},"44":{"position":[[51,7],[1831,8]]},"97":{"position":[[259,7]]},"345":{"position":[[267,7]]}}}],["complex/expensive",{"_index":2036,"t":{"158":{"position":[[1307,17]]}}}],["complexity",{"_index":1197,"t":{"44":{"position":[[673,11]]},"46":{"position":[[670,10]]}}}],["component",{"_index":2324,"t":{"317":{"position":[[20,10],[186,9],[301,10],[341,9]]}}}],["compose",{"_index":2311,"t":{"311":{"position":[[245,8]]},"313":{"position":[[47,7],[171,7],[198,7],[218,8]]},"315":{"position":[[79,7],[109,7],[127,7]]}}}],["compose.yml",{"_index":2316,"t":{"313":{"position":[[18,11],[97,11]]}}}],["compress/2174925f24362c479b2.jpg",{"_index":2184,"t":{"207":{"position":[[870,33]]}}}],["compression",{"_index":2206,"t":{"242":{"position":[[279,11]]}}}],["compute",{"_index":140,"t":{"3":{"position":[[2157,7],[2538,7]]},"5":{"position":[[2436,7]]},"17":{"position":[[239,7],[505,7],[551,7],[1193,7]]},"21":{"position":[[952,7]]}}}],["computed",{"_index":320,"t":{"5":{"position":[[2983,8]]},"11":{"position":[[442,8]]},"17":{"position":[[353,8]]}}}],["computer",{"_index":965,"t":{"34":{"position":[[446,8],[564,8]]},"36":{"position":[[419,8],[537,8]]},"44":{"position":[[3646,8]]},"63":{"position":[[16,8]]},"65":{"position":[[343,8]]},"97":{"position":[[32,9],[1488,8],[1697,8]]},"266":{"position":[[245,8]]},"303":{"position":[[118,9]]},"305":{"position":[[25,8]]},"323":{"position":[[56,8]]},"325":{"position":[[37,8]]},"343":{"position":[[30,8],[200,8]]},"345":{"position":[[14,8]]},"347":{"position":[[26,8]]},"349":{"position":[[14,8],[196,8]]},"351":{"position":[[14,8]]},"353":{"position":[[55,8]]},"374":{"position":[[1876,8]]}}}],["computer's",{"_index":2508,"t":{"365":{"position":[[269,10]]}}}],["computing",{"_index":691,"t":{"15":{"position":[[542,9]]},"17":{"position":[[949,9]]},"67":{"position":[[123,10]]},"97":{"position":[[1210,9]]},"166":{"position":[[17,9]]}}}],["conceptualize",{"_index":270,"t":{"5":{"position":[[1799,13]]}}}],["concurrently",{"_index":1095,"t":{"42":{"position":[[392,12]]}}}],["condition",{"_index":330,"t":{"5":{"position":[[3160,9]]},"99":{"position":[[133,9]]},"361":{"position":[[1963,9]]}}}],["condition\\texttt{condition}condition",{"_index":336,"t":{"5":{"position":[[3284,36]]}}}],["conditional",{"_index":731,"t":{"19":{"position":[[354,11]]},"31":{"position":[[684,11]]}}}],["conditions",{"_index":1210,"t":{"44":{"position":[[898,11]]},"97":{"position":[[1366,10]]},"101":{"position":[[70,11]]},"158":{"position":[[502,11]]}}}],["conference",{"_index":907,"t":{"27":{"position":[[249,10]]}}}],["confidence",{"_index":102,"t":{"3":{"position":[[1470,10],[2044,10],[2183,10],[2704,10],[2793,10],[3025,10]]},"5":{"position":[[26,10],[115,10],[2118,10]]},"11":{"position":[[258,10],[375,10],[701,10],[742,10]]},"13":{"position":[[81,10],[166,10],[543,10],[652,10],[682,10],[1093,10],[1249,10],[1475,10],[1944,10],[2748,10]]},"15":{"position":[[835,10]]},"17":{"position":[[89,10],[208,10],[272,10],[330,10],[428,10],[527,10],[581,10],[767,10],[859,10],[1002,10],[1089,10],[1209,10]]},"21":{"position":[[870,10]]},"23":{"position":[[768,10],[1654,10]]},"25":{"position":[[266,10],[405,10]]},"31":{"position":[[33,10],[111,10],[343,10]]},"42":{"position":[[1240,10],[1622,10]]},"46":{"position":[[733,10]]},"65":{"position":[[142,11],[641,11]]},"97":{"position":[[708,10],[818,10]]},"115":{"position":[[625,10]]},"158":{"position":[[80,10],[247,10],[376,10],[452,10],[599,10],[664,10],[761,10],[803,10],[878,10],[899,10],[1031,10],[1173,10],[1356,10],[1573,10]]},"160":{"position":[[1261,10],[1352,10],[1643,10],[1785,10],[1892,10],[2067,10]]},"192":{"position":[[492,10],[552,10]]},"196":{"position":[[84,10]]},"200":{"position":[[109,11],[606,10]]},"207":{"position":[[496,10]]},"337":{"position":[[149,10]]},"361":{"position":[[381,10],[475,10],[624,10]]},"380":{"position":[[1564,10]]}}}],["confidence=0.9995857543478209",{"_index":1533,"t":{"95":{"position":[[806,30]]}}}],["confidence_threshold",{"_index":2010,"t":{"158":{"position":[[133,21]]},"160":{"position":[[1706,20]]}}}],["confidence_threshold=0.8",{"_index":2630,"t":{"380":{"position":[[1613,25]]}}}],["confidence_threshold=0.9",{"_index":1542,"t":{"95":{"position":[[961,25]]}}}],["confidence_threshold=0.95",{"_index":2056,"t":{"160":{"position":[[1224,26]]},"192":{"position":[[885,26]]}}}],["confident",{"_index":1137,"t":{"42":{"position":[[1771,9],[1851,9],[2019,9]]},"111":{"position":[[1142,9]]},"115":{"position":[[699,9]]},"160":{"position":[[2025,10]]},"192":{"position":[[649,9]]},"198":{"position":[[642,9]]}}}],["config",{"_index":1644,"t":{"107":{"position":[[995,6]]},"127":{"position":[[649,6]]},"129":{"position":[[548,6]]}}}],["configuration",{"_index":1359,"t":{"52":{"position":[[350,13]]},"119":{"position":[[544,13]]},"303":{"position":[[132,13]]},"307":{"position":[[344,13]]},"319":{"position":[[142,13]]}}}],["configure",{"_index":1559,"t":{"97":{"position":[[543,10]]},"99":{"position":[[154,9]]},"101":{"position":[[35,9],[433,9]]},"127":{"position":[[438,9]]},"186":{"position":[[449,9],[702,9]]},"307":{"position":[[175,9]]},"355":{"position":[[189,9]]}}}],["configured",{"_index":1588,"t":{"99":{"position":[[92,10]]},"101":{"position":[[329,10]]},"119":{"position":[[420,11]]}}}],["configuring",{"_index":1564,"t":{"97":{"position":[[794,11]]},"101":{"position":[[520,11]]},"127":{"position":[[1005,11]]},"160":{"position":[[279,11],[462,11]]}}}],["confirm",{"_index":1387,"t":{"60":{"position":[[56,7]]}}}],["confirmed",{"_index":2487,"t":{"361":{"position":[[1231,9]]}}}],["conflicts",{"_index":2213,"t":{"244":{"position":[[129,9]]}}}],["confusing",{"_index":934,"t":{"31":{"position":[[68,10]]}}}],["connect",{"_index":2501,"t":{"363":{"position":[[291,7]]}}}],["connected",{"_index":2299,"t":{"305":{"position":[[9,9]]},"367":{"position":[[69,9]]},"374":{"position":[[1861,9]]},"376":{"position":[[69,9]]}}}],["connectivity",{"_index":1613,"t":{"101":{"position":[[828,12]]}}}],["consecutive",{"_index":2492,"t":{"361":{"position":[[2001,11]]}}}],["consequently",{"_index":245,"t":{"5":{"position":[[1314,13]]},"9":{"position":[[3411,13]]},"107":{"position":[[354,13]]}}}],["consider",{"_index":200,"t":{"5":{"position":[[422,8]]},"9":{"position":[[208,8]]},"42":{"position":[[1195,8]]},"101":{"position":[[511,8]]},"147":{"position":[[0,8]]},"272":{"position":[[239,8]]}}}],["considered",{"_index":1121,"t":{"42":{"position":[[1143,10]]},"79":{"position":[[114,10]]}}}],["considering",{"_index":497,"t":{"9":{"position":[[664,11]]}}}],["consists",{"_index":208,"t":{"5":{"position":[[546,8],[1578,8]]}}}],["constrained",{"_index":2201,"t":{"242":{"position":[[27,12],[394,11]]}}}],["construct",{"_index":180,"t":{"3":{"position":[[3015,9]]},"5":{"position":[[16,9],[105,9],[2106,9]]},"11":{"position":[[229,9]]},"15":{"position":[[69,9]]}}}],["constructing",{"_index":135,"t":{"3":{"position":[[2031,12]]}}}],["construction",{"_index":792,"t":{"21":{"position":[[1776,13]]},"31":{"position":[[83,12]]}}}],["constructor",{"_index":1750,"t":{"119":{"position":[[758,11]]}}}],["contact",{"_index":1738,"t":{"117":{"position":[[209,7]]}}}],["contain",{"_index":813,"t":{"21":{"position":[[2943,7]]},"23":{"position":[[97,7]]},"107":{"position":[[421,7]]}}}],["container",{"_index":1728,"t":{"115":{"position":[[1116,9]]},"339":{"position":[[51,10],[408,9],[1067,9]]},"355":{"position":[[98,10]]},"359":{"position":[[28,10]]},"361":{"position":[[23,9],[678,9],[1180,9],[1250,9],[1369,9],[2310,9]]}}}],["containerized",{"_index":2395,"t":{"333":{"position":[[45,13]]}}}],["containers",{"_index":1723,"t":{"115":{"position":[[990,10],[1203,11],[1242,10]]}}}],["containing",{"_index":2317,"t":{"313":{"position":[[75,10]]},"319":{"position":[[233,10]]}}}],["contains",{"_index":1947,"t":{"141":{"position":[[478,8],[568,8]]}}}],["content",{"_index":1473,"t":{"75":{"position":[[105,8]]}}}],["content/uploads/2010/11/over_flowing_garbage_can.jpg",{"_index":2052,"t":{"160":{"position":[[1032,53]]}}}],["context",{"_index":1093,"t":{"42":{"position":[[313,7]]},"83":{"position":[[72,8]]},"149":{"position":[[88,8]]}}}],["continue",{"_index":1840,"t":{"129":{"position":[[791,8]]},"160":{"position":[[183,8]]},"200":{"position":[[699,8]]},"295":{"position":[[171,8]]},"380":{"position":[[1838,8],[1936,8],[2103,8]]}}}],["continues",{"_index":1690,"t":{"111":{"position":[[1036,9]]}}}],["continuous",{"_index":2393,"t":{"329":{"position":[[208,10]]}}}],["contrast",{"_index":528,"t":{"9":{"position":[[1822,9]]}}}],["control",{"_index":611,"t":{"13":{"position":[[963,7]]},"97":{"position":[[741,7]]},"192":{"position":[[421,7]]},"325":{"position":[[319,8]]},"343":{"position":[[344,8]]},"349":{"position":[[252,8]]},"351":{"position":[[367,7]]}}}],["convenience",{"_index":2152,"t":{"194":{"position":[[4,12]]},"198":{"position":[[15,11]]}}}],["converged",{"_index":669,"t":{"13":{"position":[[2952,9]]}}}],["converges",{"_index":832,"t":{"23":{"position":[[505,9]]}}}],["conversion",{"_index":2210,"t":{"242":{"position":[[432,10]]}}}],["convert",{"_index":1911,"t":{"137":{"position":[[1268,7]]},"242":{"position":[[190,7]]},"371":{"position":[[441,7]]},"380":{"position":[[540,7]]}}}],["convey",{"_index":146,"t":{"3":{"position":[[2285,6]]},"25":{"position":[[290,6]]},"77":{"position":[[372,8]]}}}],["conveyor",{"_index":1465,"t":{"72":{"position":[[425,8]]}}}],["copy",{"_index":1213,"t":{"44":{"position":[[996,4]]}}}],["copy.copy(self.state",{"_index":1226,"t":{"44":{"position":[[1298,21]]}}}],["core",{"_index":1266,"t":{"44":{"position":[[3455,4]]},"121":{"position":[[154,5]]}}}],["cornell",{"_index":2472,"t":{"357":{"position":[[164,7]]},"361":{"position":[[744,7]]}}}],["cornerstone",{"_index":1181,"t":{"44":{"position":[[70,11]]}}}],["correct",{"_index":124,"t":{"3":{"position":[[1823,8]]},"5":{"position":[[296,8]]},"7":{"position":[[393,8]]},"13":{"position":[[1816,7]]},"15":{"position":[[128,7]]},"17":{"position":[[1134,7],[1285,7]]},"44":{"position":[[3511,8]]},"46":{"position":[[1051,7]]},"158":{"position":[[554,8],[636,7]]}}}],["correctly",{"_index":275,"t":{"5":{"position":[[1968,9],[2239,9],[2898,9],[3416,9]]},"9":{"position":[[140,9],[436,9]]},"13":{"position":[[1359,9],[2802,9]]},"15":{"position":[[701,9]]},"21":{"position":[[337,9],[421,9]]}}}],["correctness",{"_index":5,"t":{"3":{"position":[[58,11]]}}}],["corresponds",{"_index":355,"t":{"5":{"position":[[3673,11]]},"7":{"position":[[283,11],[344,11]]},"9":{"position":[[894,11]]},"29":{"position":[[585,11]]}}}],["cost",{"_index":1304,"t":{"48":{"position":[[378,4]]},"158":{"position":[[241,5]]},"160":{"position":[[2114,5]]}}}],["costs",{"_index":2067,"t":{"160":{"position":[[1963,6]]}}}],["couch",{"_index":2387,"t":{"329":{"position":[[77,5]]},"365":{"position":[[99,6],[206,6],[325,6]]},"367":{"position":[[140,5]]},"371":{"position":[[1053,5],[1261,8],[1621,6]]}}}],["count",{"_index":2271,"t":{"299":{"position":[[110,5],[273,6]]}}}],["counted",{"_index":1700,"t":{"113":{"position":[[286,7]]}}}],["counter",{"_index":2370,"t":{"327":{"position":[[25,7],[133,7]]},"374":{"position":[[127,7],[392,7],[608,8],[1151,7],[1370,7],[1477,7],[1792,8],[1989,7]]},"380":{"position":[[1515,10],[2496,7],[2854,7],[3082,8]]}}}],["counter's",{"_index":2663,"t":{"380":{"position":[[3149,9]]}}}],["counting",{"_index":2273,"t":{"299":{"position":[[168,8],[203,8],[285,8]]}}}],["coverage",{"_index":610,"t":{"13":{"position":[[950,9],[975,8]]},"17":{"position":[[683,8],[1037,8]]},"21":{"position":[[1591,8],[2321,9]]},"25":{"position":[[518,9]]}}}],["covered",{"_index":930,"t":{"29":{"position":[[665,7]]}}}],["covers",{"_index":1926,"t":{"139":{"position":[[106,6]]}}}],["cpu",{"_index":1774,"t":{"121":{"position":[[170,4]]}}}],["create",{"_index":1382,"t":{"58":{"position":[[61,7]]},"69":{"position":[[135,6],[297,6]]},"91":{"position":[[123,6]]},"97":{"position":[[184,6],[535,7]]},"99":{"position":[[245,6],[280,6]]},"107":{"position":[[931,6]]},"127":{"position":[[585,6]]},"129":{"position":[[304,6]]},"137":{"position":[[281,6]]},"155":{"position":[[223,6]]},"293":{"position":[[153,6]]},"299":{"position":[[159,6]]},"301":{"position":[[65,6]]},"317":{"position":[[162,6],[293,7]]},"329":{"position":[[0,6]]},"331":{"position":[[180,6]]},"333":{"position":[[369,6]]},"337":{"position":[[45,6],[83,7]]},"361":{"position":[[110,7],[272,6],[1826,7],[2249,8]]},"371":{"position":[[47,6]]},"380":{"position":[[47,6]]}}}],["create_detector(name",{"_index":2254,"t":{"293":{"position":[[264,21]]}}}],["created",{"_index":1175,"t":{"42":{"position":[[3078,7]]},"44":{"position":[[1665,7],[2561,7],[3058,7]]},"190":{"position":[[14,7]]},"293":{"position":[[122,7]]},"295":{"position":[[47,8],[213,8]]},"297":{"position":[[155,8]]},"299":{"position":[[35,7]]}}}],["created_at=datetime.datetime(2024",{"_index":1535,"t":{"95":{"position":[[863,34]]}}}],["creates",{"_index":2553,"t":{"374":{"position":[[184,7]]}}}],["creating",{"_index":1524,"t":{"95":{"position":[[28,8]]},"101":{"position":[[5,8]]},"147":{"position":[[9,8]]},"158":{"position":[[5,8]]},"293":{"position":[[219,8]]},"317":{"position":[[7,8]]},"365":{"position":[[143,8]]}}}],["creation",{"_index":1906,"t":{"137":{"position":[[841,10]]},"307":{"position":[[108,8]]}}}],["credentials",{"_index":1351,"t":{"52":{"position":[[133,12]]}}}],["credible",{"_index":939,"t":{"31":{"position":[[732,8],[804,8]]}}}],["critical",{"_index":2481,"t":{"361":{"position":[[572,8]]}}}],["crowded",{"_index":2587,"t":{"374":{"position":[[1531,7]]}}}],["crucial",{"_index":1190,"t":{"44":{"position":[[455,7]]}}}],["ctrl+c",{"_index":2415,"t":{"339":{"position":[[445,7]]}}}],["cumulative",{"_index":444,"t":{"7":{"position":[[777,10],[1495,10]]}}}],["cup_{i=1}^n",{"_index":919,"t":{"29":{"position":[[268,12]]}}}],["curl",{"_index":2132,"t":{"186":{"position":[[442,4],[609,4]]}}}],["current",{"_index":1155,"t":{"42":{"position":[[2291,7]]},"44":{"position":[[147,7]]},"266":{"position":[[493,7]]}}}],["current_hour",{"_index":2625,"t":{"380":{"position":[[1266,12],[1329,12],[2554,12],[2592,12]]}}}],["current_time",{"_index":2644,"t":{"380":{"position":[[2289,12]]}}}],["current_time.strftime(\"%i%p",{"_index":2648,"t":{"380":{"position":[[2388,29]]}}}],["currently",{"_index":1244,"t":{"44":{"position":[[2124,9],[2835,9]]},"48":{"position":[[146,10]]}}}],["curve",{"_index":465,"t":{"7":{"position":[[1336,7],[1777,6]]}}}],["custom",{"_index":1037,"t":{"40":{"position":[[162,6]]},"147":{"position":[[18,6]]},"307":{"position":[[219,6]]}}}],["customer",{"_index":120,"t":{"3":{"position":[[1753,9],[1766,8]]},"327":{"position":[[8,8]]},"374":{"position":[[260,9],[844,8],[1047,8],[1415,8],[1568,8],[1614,8],[2103,8]]},"380":{"position":[[1491,8],[3054,8]]}}}],["customers",{"_index":14,"t":{"3":{"position":[[175,9],[432,9]]},"25":{"position":[[92,10]]},"374":{"position":[[138,9],[769,10],[1125,9],[1339,9]]}}}],["customize",{"_index":2267,"t":{"297":{"position":[[239,9]]},"380":{"position":[[710,9]]}}}],["cutting",{"_index":2426,"t":{"343":{"position":[[187,7]]}}}],["cv2",{"_index":1866,"t":{"135":{"position":[[322,3]]},"371":{"position":[[163,3]]},"380":{"position":[[315,3]]}}}],["cv2.color_bgr2rgb",{"_index":2526,"t":{"371":{"position":[[505,19]]},"380":{"position":[[604,19]]}}}],["cv2.videocapture(0",{"_index":1868,"t":{"135":{"position":[[332,19]]},"371":{"position":[[373,19]]},"380":{"position":[[472,19]]}}}],["d",{"_index":291,"t":{"5":{"position":[[2353,3]]},"19":{"position":[[398,3],[462,3],[499,1],[606,2],[643,1],[873,4],[1002,2]]},"141":{"position":[[237,1]]},"160":{"position":[[1147,1]]},"207":{"position":[[745,1]]},"339":{"position":[[213,1],[636,1],[992,1],[1236,1]]},"361":{"position":[[898,1],[1498,1]]},"363":{"position":[[247,1],[379,1]]}}}],["d(x,y)∼d",{"_index":266,"t":{"5":{"position":[[1736,8]]}}}],["d(xi,yi)∼d",{"_index":315,"t":{"5":{"position":[[2814,12]]}}}],["d+d^+d",{"_index":732,"t":{"19":{"position":[[381,7]]}}}],["daemon",{"_index":2329,"t":{"317":{"position":[[154,7]]}}}],["daily",{"_index":2376,"t":{"327":{"position":[[186,5]]},"374":{"position":[[448,5],[2009,5]]},"376":{"position":[[132,5]]},"380":{"position":[[672,5],[2665,6],[3218,5]]}}}],["daily_log",{"_index":2632,"t":{"380":{"position":[[1659,9],[2632,9],[2695,10],[2894,9]]}}}],["daily_log.append(msg",{"_index":2653,"t":{"380":{"position":[[2523,21]]}}}],["daily_summary",{"_index":2654,"t":{"380":{"position":[[2649,13],[2706,13]]}}}],["dashboard",{"_index":1385,"t":{"60":{"position":[[23,9]]},"69":{"position":[[122,9]]},"89":{"position":[[71,9]]},"99":{"position":[[220,10]]},"119":{"position":[[390,9]]},"335":{"position":[[71,9]]},"337":{"position":[[34,10]]},"361":{"position":[[154,10],[309,10],[1778,10]]},"371":{"position":[[33,9]]},"380":{"position":[[33,9]]}}}],["dashboard.groundlight.ai/reef/my",{"_index":1375,"t":{"56":{"position":[[27,32]]}}}],["data",{"_index":1097,"t":{"42":{"position":[[443,4],[2813,4],[3020,4]]},"65":{"position":[[103,5]]},"137":{"position":[[212,4]]},"160":{"position":[[880,5]]},"327":{"position":[[210,4]]},"371":{"position":[[819,4],[853,5],[878,4]]},"374":{"position":[[1269,4]]}}}],["database",{"_index":1636,"t":{"107":{"position":[[683,9],[770,8],[1313,8]]},"109":{"position":[[403,8]]}}}],["dataset",{"_index":1423,"t":{"65":{"position":[[446,8]]},"207":{"position":[[160,8]]}}}],["datetime",{"_index":2594,"t":{"380":{"position":[[188,8],[204,9]]}}}],["datetime.now",{"_index":2640,"t":{"380":{"position":[[2159,14]]}}}],["datetime.now().hour",{"_index":2626,"t":{"380":{"position":[[1281,19],[2569,19]]}}}],["datetime.now().replace(hour=start_of_business",{"_index":2645,"t":{"380":{"position":[[2304,46]]}}}],["datetime.now().replace(minute=0",{"_index":2634,"t":{"380":{"position":[[1694,32]]}}}],["day",{"_index":218,"t":{"5":{"position":[[758,3]]},"34":{"position":[[367,4]]},"36":{"position":[[340,4]]},"374":{"position":[[163,4],[429,4],[891,3]]},"380":{"position":[[3199,4]]}}}],["days",{"_index":2568,"t":{"374":{"position":[[907,4]]}}}],["daytime",{"_index":203,"t":{"5":{"position":[[477,7],[565,7]]}}}],["db.get_next_image_query_id",{"_index":1665,"t":{"109":{"position":[[418,29],[667,28],[1220,28]]}}}],["db.save(image_query.id",{"_index":1638,"t":{"107":{"position":[[810,24],[1258,23]]}}}],["ddd",{"_index":254,"t":{"5":{"position":[[1553,4],[1574,3],[1791,4],[2282,4],[2460,3],[2642,4],[3659,4],[4522,4]]},"9":{"position":[[383,3],[2105,3]]},"19":{"position":[[330,3]]}}}],["ddr5",{"_index":1780,"t":{"121":{"position":[[218,4]]}}}],["debian",{"_index":2073,"t":{"164":{"position":[[77,7]]},"184":{"position":[[92,6]]}}}],["debugging",{"_index":1944,"t":{"141":{"position":[[435,9]]},"145":{"position":[[150,9]]},"149":{"position":[[129,9]]}}}],["decades",{"_index":1902,"t":{"137":{"position":[[715,7]]}}}],["decide",{"_index":1311,"t":{"48":{"position":[[550,6]]}}}],["decided",{"_index":598,"t":{"13":{"position":[[434,7]]}}}],["decides",{"_index":1160,"t":{"42":{"position":[[2501,7]]}}}],["decision",{"_index":367,"t":{"5":{"position":[[3884,8]]}}}],["decisions",{"_index":2581,"t":{"374":{"position":[[1281,9],[2061,9]]}}}],["decompose",{"_index":729,"t":{"19":{"position":[[320,9]]}}}],["decrease",{"_index":1850,"t":{"129":{"position":[[1146,8]]}}}],["def",{"_index":659,"t":{"13":{"position":[[2672,3],[2848,3],[2886,3]]},"44":{"position":[[1098,3],[1166,3],[1246,3]]},"371":{"position":[[346,3],[593,3]]},"380":{"position":[[445,3],[766,3],[1234,3]]}}}],["default",{"_index":1717,"t":{"115":{"position":[[515,8]]},"129":{"position":[[1001,8]]},"135":{"position":[[382,7]]},"153":{"position":[[168,7]]},"186":{"position":[[38,8],[489,7]]},"240":{"position":[[199,7]]},"244":{"position":[[51,8]]},"297":{"position":[[167,8]]}}}],["defaults",{"_index":2148,"t":{"192":{"position":[[524,9],[668,9]]},"205":{"position":[[57,8]]},"297":{"position":[[331,8]]}}}],["defeating",{"_index":1342,"t":{"50":{"position":[[520,9]]}}}],["defects",{"_index":2364,"t":{"325":{"position":[[337,7]]},"349":{"position":[[153,7]]}}}],["define",{"_index":195,"t":{"5":{"position":[[339,6],[2185,6]]},"19":{"position":[[179,6],[243,6]]},"371":{"position":[[278,6],[543,6]]},"380":{"position":[[377,6],[642,6],[1120,6]]}}}],["defined",{"_index":436,"t":{"7":{"position":[[668,7],[1077,7]]},"13":{"position":[[1503,7]]},"15":{"position":[[863,7]]},"19":{"position":[[743,7],[1105,7]]}}}],["definition",{"_index":619,"t":{"13":{"position":[[1229,10],[1425,11],[1867,10],[2125,10]]},"15":{"position":[[785,11]]}}}],["definitions",{"_index":752,"t":{"21":{"position":[[15,11]]},"270":{"position":[[153,12]]}}}],["degrade",{"_index":2196,"t":{"238":{"position":[[343,8]]}}}],["degree",{"_index":132,"t":{"3":{"position":[[1998,6]]}}}],["delay",{"_index":2631,"t":{"380":{"position":[[1639,5]]}}}],["delete",{"_index":1386,"t":{"60":{"position":[[47,8]]}}}],["delta",{"_index":614,"t":{"13":{"position":[[1010,9],[1037,8],[1072,8],[1157,9],[1172,8],[1272,8],[1449,10],[1560,7],[1604,6],[1728,8],[2081,8],[2401,8],[2703,7],[2734,7],[3013,6]]},"15":{"position":[[625,8],[809,10],[930,7],[982,6]]},"17":{"position":[[311,10]]},"21":{"position":[[859,10],[1494,5],[1611,9],[1691,5],[2280,9]]}}}],["delta/4",{"_index":772,"t":{"21":{"position":[[1078,9],[1319,9]]}}}],["delta/4)acc+(h)=p(n+,k+,δ/4",{"_index":775,"t":{"21":{"position":[[1159,31]]}}}],["delta/4)acc−(h)=p(n−,k−,δ/4",{"_index":778,"t":{"21":{"position":[[1400,31]]}}}],["delta4⋅(δ/4",{"_index":801,"t":{"21":{"position":[[2196,16]]}}}],["deltafn,p(k",{"_index":641,"t":{"13":{"position":[[2315,17]]}}}],["deltaδ/2",{"_index":711,"t":{"17":{"position":[[464,13],[612,10]]}}}],["demonstrates",{"_index":1032,"t":{"40":{"position":[[19,12]]},"329":{"position":[[130,13]]},"374":{"position":[[13,12]]}}}],["denote",{"_index":267,"t":{"5":{"position":[[1745,6]]},"21":{"position":[[174,6],[228,6],[282,6],[366,6],[568,6]]}}}],["density",{"_index":445,"t":{"7":{"position":[[788,7]]}}}],["dependent",{"_index":222,"t":{"5":{"position":[[866,10]]},"244":{"position":[[150,9]]}}}],["depicts",{"_index":347,"t":{"5":{"position":[[3498,7]]}}}],["deploy",{"_index":1039,"t":{"40":{"position":[[212,6]]},"97":{"position":[[1183,6]]},"117":{"position":[[57,6]]},"266":{"position":[[56,6],[123,6]]},"303":{"position":[[73,6]]},"317":{"position":[[318,8],[330,6]]}}}],["deployed",{"_index":1622,"t":{"105":{"position":[[293,8]]},"268":{"position":[[62,8]]},"307":{"position":[[67,8]]}}}],["deployment",{"_index":980,"t":{"34":{"position":[[687,10]]},"36":{"position":[[660,10]]},"40":{"position":[[116,10],[1504,10]]},"264":{"position":[[40,10]]},"311":{"position":[[211,10]]}}}],["deprioritize",{"_index":2046,"t":{"160":{"position":[[562,12],[765,12],[1538,12]]}}}],["depth",{"_index":1812,"t":{"127":{"position":[[338,5]]}}}],["derivation",{"_index":941,"t":{"31":{"position":[[790,10]]}}}],["derive",{"_index":589,"t":{"13":{"position":[[62,6]]},"17":{"position":[[24,6],[139,6]]}}}],["derived",{"_index":818,"t":{"23":{"position":[[33,7]]},"25":{"position":[[734,8]]}}}],["described",{"_index":587,"t":{"13":{"position":[[30,9]]},"40":{"position":[[847,9]]},"184":{"position":[[375,9]]},"260":{"position":[[233,9]]},"288":{"position":[[178,9]]}}}],["describes",{"_index":155,"t":{"3":{"position":[[2498,9]]}}}],["description",{"_index":1949,"t":{"141":{"position":[[497,11]]}}}],["descriptive",{"_index":2491,"t":{"361":{"position":[[1853,11]]}}}],["design",{"_index":975,"t":{"34":{"position":[[584,6],[660,6]]},"36":{"position":[[557,6],[633,6]]}}}],["designed",{"_index":998,"t":{"38":{"position":[[52,8]]},"93":{"position":[[83,8]]},"121":{"position":[[646,8]]},"266":{"position":[[13,8]]}}}],["desire",{"_index":784,"t":{"21":{"position":[[1572,6]]},"31":{"position":[[672,6]]}}}],["desired",{"_index":805,"t":{"21":{"position":[[2304,7]]},"23":{"position":[[127,7]]},"97":{"position":[[810,7]]}}}],["desk",{"_index":2554,"t":{"374":{"position":[[232,4]]}}}],["desktop",{"_index":2071,"t":{"164":{"position":[[4,7]]}}}],["despite",{"_index":1998,"t":{"153":{"position":[[43,7]]}}}],["det",{"_index":1395,"t":{"63":{"position":[[125,3]]},"69":{"position":[[383,3]]},"95":{"position":[[162,4]]},"133":{"position":[[170,3]]}}}],["detach",{"_index":2421,"t":{"339":{"position":[[1125,6],[1177,6]]},"361":{"position":[[1413,6],[1439,6]]}}}],["detail",{"_index":1189,"t":{"44":{"position":[[445,6]]}}}],["detailed",{"_index":876,"t":{"25":{"position":[[357,8]]},"91":{"position":[[397,8]]}}}],["details",{"_index":57,"t":{"3":{"position":[[695,7],[1395,7],[2364,7]]}}}],["detect",{"_index":1825,"t":{"129":{"position":[[72,6]]},"137":{"position":[[1661,6]]}}}],["detected",{"_index":1835,"t":{"129":{"position":[[487,9],[846,11]]},"333":{"position":[[541,9]]},"339":{"position":[[874,8]]},"361":{"position":[[2425,8]]},"365":{"position":[[190,8]]},"371":{"position":[[1245,8],[1605,8]]},"380":{"position":[[3066,8]]}}}],["detecting",{"_index":1827,"t":{"129":{"position":[[128,9],[928,9]]}}}],["detection",{"_index":1297,"t":{"48":{"position":[[76,9],[503,10]]},"97":{"position":[[246,9]]},"129":{"position":[[33,9],[273,9],[383,10]]},"361":{"position":[[1031,9],[1629,9]]}}}],["detector",{"_index":12,"t":{"3":{"position":[[148,8],[1377,8]]},"34":{"position":[[740,8]]},"36":{"position":[[713,8]]},"42":{"position":[[826,8],[1540,8]]},"72":{"position":[[315,8],[666,9]]},"95":{"position":[[39,8],[122,9],[167,8]]},"107":{"position":[[1080,8]]},"109":{"position":[[566,8]]},"111":{"position":[[547,8]]},"158":{"position":[[16,8]]},"190":{"position":[[24,8]]},"192":{"position":[[81,9],[124,8],[251,8],[755,8]]},"196":{"position":[[112,8],[218,8]]},"198":{"position":[[278,8]]},"200":{"position":[[461,8]]},"264":{"position":[[56,8]]},"266":{"position":[[80,8],[135,8],[311,8]]},"268":{"position":[[71,9]]},"293":{"position":[[98,8],[234,8],[365,8]]},"295":{"position":[[15,8],[189,8],[277,8],[361,8],[438,8]]},"299":{"position":[[177,8],[434,8]]},"301":{"position":[[86,9],[248,8]]},"329":{"position":[[262,8]]},"337":{"position":[[58,8],[114,8],[260,8]]},"339":{"position":[[222,8],[645,8],[1001,8],[1245,8]]},"361":{"position":[[293,8],[420,8],[1932,8]]},"371":{"position":[[1008,8],[1059,10]]},"374":{"position":[[194,8],[284,8]]},"380":{"position":[[1412,8]]}}}],["detector's",{"_index":61,"t":{"3":{"position":[[722,10],[1887,10],[2243,10],[2344,10]]},"42":{"position":[[1023,10]]},"192":{"position":[[541,10]]},"337":{"position":[[220,10]]}}}],["detector=d",{"_index":2059,"t":{"160":{"position":[[1413,11]]}}}],["detector=detector",{"_index":2150,"t":{"192":{"position":[[839,18]]},"371":{"position":[[1161,18]]},"380":{"position":[[1990,18]]}}}],["detector_id='det_2owcst7xcsfflu7diakgpkr4bxy",{"_index":1531,"t":{"95":{"position":[[724,46]]}}}],["detectors",{"_index":8,"t":{"3":{"position":[[94,10]]},"25":{"position":[[153,9]]},"40":{"position":[[448,9],[509,9]]},"97":{"position":[[511,10],[562,9],[844,10]]},"297":{"position":[[33,10],[138,9],[363,9],[440,9]]},"299":{"position":[[19,9],[75,10],[212,9],[294,9]]},"303":{"position":[[97,9]]},"307":{"position":[[147,10],[185,9],[361,10]]}}}],["detects",{"_index":2195,"t":{"238":{"position":[[231,7]]},"329":{"position":[[45,7]]}}}],["determination",{"_index":1343,"t":{"50":{"position":[[530,14]]}}}],["determine",{"_index":1227,"t":{"44":{"position":[[1355,9],[1585,9]]}}}],["determined",{"_index":2031,"t":{"158":{"position":[[1063,10]]}}}],["determines",{"_index":1165,"t":{"42":{"position":[[2727,10]]}}}],["determining",{"_index":405,"t":{"7":{"position":[[33,11],[147,11]]},"9":{"position":[[232,11]]},"44":{"position":[[1710,11],[1769,11],[2595,11],[2669,11],[3092,11]]}}}],["dev",{"_index":2343,"t":{"321":{"position":[[159,3]]}}}],["developed",{"_index":997,"t":{"38":{"position":[[18,10]]},"137":{"position":[[705,9]]}}}],["developing",{"_index":969,"t":{"34":{"position":[[484,10]]},"36":{"position":[[457,10]]},"168":{"position":[[222,10]]}}}],["development",{"_index":1503,"t":{"87":{"position":[[36,11]]},"303":{"position":[[196,11]]}}}],["deviation",{"_index":842,"t":{"23":{"position":[[758,9],[1340,10]]}}}],["device",{"_index":1716,"t":{"115":{"position":[[461,6],[924,6],[1013,8],[1052,7]]},"162":{"position":[[170,6]]},"266":{"position":[[436,7]]},"307":{"position":[[400,7]]},"317":{"position":[[87,6]]}}}],["devices",{"_index":1694,"t":{"113":{"position":[[95,8],[172,8],[456,8]]},"115":{"position":[[60,8],[231,8]]},"121":{"position":[[724,8],[757,8],[809,8]]},"166":{"position":[[27,8],[95,7],[171,7]]},"223":{"position":[[70,8]]},"238":{"position":[[61,8]]},"333":{"position":[[195,7]]},"339":{"position":[[1398,8]]},"351":{"position":[[291,7]]}}}],["diagram",{"_index":1174,"t":{"42":{"position":[[3070,7],[3116,7]]},"44":{"position":[[563,7],[1657,7],[2553,7],[3050,7]]}}}],["difference",{"_index":1914,"t":{"137":{"position":[[1356,10],[1622,10]]}}}],["different",{"_index":16,"t":{"3":{"position":[[197,9]]},"11":{"position":[[397,9]]},"40":{"position":[[706,9]]},"81":{"position":[[37,9],[63,9]]},"119":{"position":[[1177,9]]},"123":{"position":[[167,9]]},"125":{"position":[[32,9]]},"127":{"position":[[148,9],[1017,9]]},"168":{"position":[[8,9]]},"194":{"position":[[67,9]]},"315":{"position":[[20,9],[62,9]]}}}],["differentiate",{"_index":1983,"t":{"147":{"position":[[99,13]]}}}],["differently",{"_index":533,"t":{"9":{"position":[[2036,12]]}}}],["difficult",{"_index":1980,"t":{"145":{"position":[[160,9]]}}}],["direct",{"_index":1358,"t":{"52":{"position":[[343,6]]}}}],["directly",{"_index":643,"t":{"13":{"position":[[2355,8]]},"133":{"position":[[42,8]]},"135":{"position":[[272,8]]},"207":{"position":[[414,9]]},"244":{"position":[[209,9]]}}}],["directories",{"_index":2400,"t":{"333":{"position":[[282,11]]}}}],["directory",{"_index":1506,"t":{"91":{"position":[[112,10]]},"313":{"position":[[65,9]]},"319":{"position":[[223,9]]}}}],["dirty",{"_index":945,"t":{"34":{"position":[[106,5]]},"36":{"position":[[79,5]]},"38":{"position":[[298,5]]},"44":{"position":[[2138,5],[2242,5],[2398,5],[2614,5]]},"46":{"position":[[362,5]]}}}],["discord",{"_index":1015,"t":{"38":{"position":[[406,7],[682,7],[859,7]]},"40":{"position":[[1124,7],[1192,7],[1235,7],[1251,7]]},"42":{"position":[[559,7],[2669,7],[2855,7],[2893,7],[3054,7]]},"44":{"position":[[2048,7],[2772,7]]},"46":{"position":[[28,7],[71,7],[108,7],[433,7]]}}}],["discord’s",{"_index":1282,"t":{"46":{"position":[[693,9]]}}}],["discover",{"_index":1572,"t":{"97":{"position":[[1167,8]]}}}],["discussing",{"_index":593,"t":{"13":{"position":[[155,10]]}}}],["discussion",{"_index":678,"t":{"15":{"position":[[22,10]]}}}],["dish",{"_index":1115,"t":{"42":{"position":[[1066,4]]},"44":{"position":[[2404,4]]},"50":{"position":[[515,4]]}}}],["dishes",{"_index":946,"t":{"34":{"position":[[112,6],[881,6]]},"36":{"position":[[85,6],[854,6]]},"38":{"position":[[113,6],[304,6],[502,6],[794,7]]},"42":{"position":[[1154,7]]},"44":{"position":[[2144,6],[2248,6],[2436,6],[2620,6],[2845,6],[3026,6]]},"46":{"position":[[398,7],[953,6]]}}}],["display",{"_index":131,"t":{"3":{"position":[[1986,7],[2169,7]]},"25":{"position":[[686,8]]},"178":{"position":[[52,7]]},"254":{"position":[[52,7]]},"282":{"position":[[52,7]]}}}],["displaying",{"_index":106,"t":{"3":{"position":[[1522,10]]},"153":{"position":[[112,10]]}}}],["displays",{"_index":59,"t":{"3":{"position":[[708,8],[2377,8]]}}}],["distribution",{"_index":161,"t":{"3":{"position":[[2592,13],[2747,13]]},"5":{"position":[[951,12],[1037,12],[1371,12],[1449,12],[1502,12],[3633,12],[4249,13],[4496,12]]},"7":{"position":[[425,12],[1249,12]]},"9":{"position":[[812,12]]},"23":{"position":[[262,13],[391,12],[437,12],[527,12],[1084,12],[1130,12]]},"27":{"position":[[197,13]]}}}],["distribution's",{"_index":2109,"t":{"184":{"position":[[9,14]]}}}],["distributions",{"_index":479,"t":{"7":{"position":[[1813,13]]},"19":{"position":[[262,13],[366,14],[796,14]]},"164":{"position":[[108,13]]}}}],["distutils",{"_index":2131,"t":{"186":{"position":[[432,9]]}}}],["dnf",{"_index":2114,"t":{"184":{"position":[[221,3]]}}}],["docker",{"_index":2084,"t":{"168":{"position":[[72,6]]},"217":{"position":[[12,6],[73,6],[164,6]]},"231":{"position":[[12,6],[74,6],[165,6]]},"311":{"position":[[238,6]]},"313":{"position":[[11,6],[40,6],[90,6],[164,6],[191,6],[211,6]]},"315":{"position":[[72,6],[102,6],[120,6]]},"317":{"position":[[52,6],[147,6]]},"335":{"position":[[81,6]]},"339":{"position":[[44,6],[124,6],[573,6],[929,6],[1144,6],[1164,6]]},"357":{"position":[[0,6]]},"359":{"position":[[39,6]]},"361":{"position":[[835,6],[1426,6]]},"363":{"position":[[158,6],[316,6]]}}}],["docs/static/img/doorway.jpg",{"_index":1400,"t":{"63":{"position":[[209,31]]},"69":{"position":[[467,31]]},"95":{"position":[[289,31]]}}}],["document",{"_index":2506,"t":{"365":{"position":[[111,8]]}}}],["documentation",{"_index":1284,"t":{"46":{"position":[[710,13]]},"107":{"position":[[174,13]]},"111":{"position":[[469,13]]},"113":{"position":[[620,13]]},"119":{"position":[[526,13]]},"127":{"position":[[967,13]]},"188":{"position":[[133,13]]},"221":{"position":[[133,13]]},"235":{"position":[[133,13]]},"262":{"position":[[133,13]]},"290":{"position":[[133,13]]},"363":{"position":[[470,13]]}}}],["doesn't",{"_index":477,"t":{"7":{"position":[[1739,7]]},"9":{"position":[[1702,7]]},"293":{"position":[[176,7]]}}}],["dog",{"_index":2294,"t":{"301":{"position":[[329,3]]},"329":{"position":[[63,3],[258,3]]},"365":{"position":[[87,3],[183,3],[306,3],[378,3]]},"367":{"position":[[152,3]]},"371":{"position":[[1598,3]]}}}],["dog_on_couch_detector.py",{"_index":2551,"t":{"371":{"position":[[1710,24],[1754,24]]}}}],["doing",{"_index":601,"t":{"13":{"position":[[612,5]]},"46":{"position":[[388,5]]}}}],["domain.com/wp",{"_index":2051,"t":{"160":{"position":[[1018,13]]}}}],["don't",{"_index":937,"t":{"31":{"position":[[639,5]]},"83":{"position":[[47,5]]},"242":{"position":[[474,5],[520,5]]},"266":{"position":[[451,5]]}}}],["done",{"_index":652,"t":{"13":{"position":[[2563,4]]},"46":{"position":[[182,5]]},"107":{"position":[[668,4]]},"242":{"position":[[446,4]]},"303":{"position":[[149,4]]}}}],["door",{"_index":1456,"t":{"72":{"position":[[243,4]]}}}],["doorway",{"_index":1398,"t":{"63":{"position":[[187,7]]},"69":{"position":[[445,7]]},"207":{"position":[[805,7]]}}}],["dot",{"_index":354,"t":{"5":{"position":[[3669,3]]}}}],["dot's",{"_index":360,"t":{"5":{"position":[[3762,5]]}}}],["dotted",{"_index":364,"t":{"5":{"position":[[3848,6]]}}}],["down",{"_index":1048,"t":{"40":{"position":[[635,4]]},"42":{"position":[[609,4]]},"44":{"position":[[1413,4]]}}}],["download",{"_index":1693,"t":{"113":{"position":[[56,8]]},"186":{"position":[[581,8]]},"260":{"position":[[0,8]]},"288":{"position":[[0,8]]}}}],["downloaded",{"_index":1720,"t":{"115":{"position":[[901,10]]}}}],["downloading",{"_index":1708,"t":{"113":{"position":[[502,11]]}}}],["downloads",{"_index":1714,"t":{"115":{"position":[[362,9]]}}}],["drawn",{"_index":286,"t":{"5":{"position":[[2271,5],[2624,5]]}}}],["drifts",{"_index":214,"t":{"5":{"position":[[729,6]]}}}],["driven",{"_index":2377,"t":{"327":{"position":[[215,6]]},"374":{"position":[[1274,6]]}}}],["due",{"_index":723,"t":{"17":{"position":[[1046,3]]},"141":{"position":[[834,3]]},"207":{"position":[[482,3]]}}}],["during",{"_index":1924,"t":{"139":{"position":[[78,6]]},"141":{"position":[[30,6]]},"374":{"position":[[723,6]]}}}],["d−d",{"_index":733,"t":{"19":{"position":[[393,4]]}}}],["e",{"_index":1943,"t":{"141":{"position":[[408,2]]},"371":{"position":[[1325,2],[1366,5]]},"380":{"position":[[2038,2],[2079,5]]}}}],["e.g",{"_index":1077,"t":{"40":{"position":[[1332,5]]},"46":{"position":[[339,5]]},"101":{"position":[[649,6]]},"107":{"position":[[978,6]]},"111":{"position":[[396,5]]},"127":{"position":[[632,6]]},"149":{"position":[[44,6]]},"182":{"position":[[140,6]]},"258":{"position":[[140,6]]},"286":{"position":[[146,6]]},"367":{"position":[[112,6]]},"380":{"position":[[1193,4],[1225,4]]}}}],["e.reason",{"_index":1946,"t":{"141":{"position":[[469,8],[544,12]]}}}],["e.status",{"_index":1951,"t":{"141":{"position":[[559,8],[624,12]]}}}],["e_{(x,y",{"_index":743,"t":{"19":{"position":[[859,8],[988,8]]}}}],["each",{"_index":60,"t":{"3":{"position":[[717,4],[2238,4]]},"5":{"position":[[1558,4],[2784,4],[3664,4]]},"17":{"position":[[650,4]]},"19":{"position":[[295,4],[767,4]]},"21":{"position":[[1790,4],[2023,4]]},"29":{"position":[[210,4],[564,4]]},"31":{"position":[[426,4],[536,4]]},"40":{"position":[[688,4]]},"42":{"position":[[124,4],[1942,4]]},"44":{"position":[[1630,4],[1784,4]]},"361":{"position":[[2153,4]]}}}],["earlier",{"_index":2118,"t":{"184":{"position":[[385,8]]},"260":{"position":[[243,8]]},"288":{"position":[[188,8]]}}}],["earliest",{"_index":2166,"t":{"200":{"position":[[229,8]]}}}],["early",{"_index":2007,"t":{"155":{"position":[[97,5]]}}}],["easier",{"_index":73,"t":{"3":{"position":[[1018,6]]}}}],["easiest",{"_index":2126,"t":{"186":{"position":[[171,7]]},"303":{"position":[[58,7]]}}}],["easily",{"_index":632,"t":{"13":{"position":[[2103,6]]},"25":{"position":[[125,6]]},"351":{"position":[[48,6]]}}}],["easy",{"_index":1038,"t":{"40":{"position":[[204,4]]},"97":{"position":[[1024,4]]},"127":{"position":[[871,4]]},"266":{"position":[[36,4]]},"307":{"position":[[339,4]]},"339":{"position":[[26,4]]},"361":{"position":[[42,4]]}}}],["edge",{"_index":1439,"t":{"67":{"position":[[118,4]]},"97":{"position":[[1161,5],[1205,4]]},"113":{"position":[[35,4],[90,4],[167,4],[273,4],[383,4],[451,4],[469,4],[642,4]]},"115":{"position":[[4,4],[55,4],[226,4],[321,4],[385,4],[456,4],[586,4],[806,4],[829,4],[919,4],[955,4],[1007,5],[1133,4]]},"117":{"position":[[13,4],[106,4],[187,4]]},"119":{"position":[[15,4],[65,4],[206,4],[335,4],[451,4],[587,4],[674,4],[1028,4],[1147,4],[1284,4]]},"121":{"position":[[24,4],[318,4],[629,4],[719,4]]},"166":{"position":[[12,4]]},"238":{"position":[[56,4]]},"343":{"position":[[195,4]]}}}],["effective",{"_index":1305,"t":{"48":{"position":[[383,10]]},"149":{"position":[[119,9]]}}}],["effectiveness",{"_index":2578,"t":{"374":{"position":[[1189,13]]}}}],["efficiency",{"_index":2429,"t":{"343":{"position":[[306,11]]}}}],["efficient",{"_index":1793,"t":{"121":{"position":[[677,10]]},"345":{"position":[[324,10]]}}}],["efficiently",{"_index":653,"t":{"13":{"position":[[2568,11]]}}}],["effort",{"_index":871,"t":{"25":{"position":[[47,6]]},"50":{"position":[[477,7]]}}}],["effortlessly",{"_index":1323,"t":{"50":{"position":[[131,12]]}}}],["egg",{"_index":343,"t":{"5":{"position":[[3469,3]]}}}],["elif",{"_index":1673,"t":{"109":{"position":[[985,4],[1064,4]]}}}],["ellipse",{"_index":351,"t":{"5":{"position":[[3605,7]]}}}],["email",{"_index":1577,"t":{"97":{"position":[[1346,5]]},"103":{"position":[[46,5]]},"268":{"position":[[81,5]]},"327":{"position":[[204,5]]},"374":{"position":[[2023,6]]},"376":{"position":[[89,5]]},"380":{"position":[[686,6]]}}}],["email.mime.multipart",{"_index":2596,"t":{"380":{"position":[[229,20]]}}}],["email.mime.text",{"_index":2598,"t":{"380":{"position":[[276,15]]}}}],["emails",{"_index":2558,"t":{"374":{"position":[[437,6]]},"380":{"position":[[3207,6]]}}}],["embedded",{"_index":971,"t":{"34":{"position":[[507,8]]},"36":{"position":[[480,8]]}}}],["emote",{"_index":1288,"t":{"46":{"position":[[868,5],[1026,5]]}}}],["empirical",{"_index":319,"t":{"5":{"position":[[2935,9],[4398,9]]},"9":{"position":[[571,9],[740,9],[1086,9],[1271,9],[1443,9],[1560,9],[1958,9],[2124,9],[2285,9],[2512,9],[2806,9],[3002,9],[3236,9],[3349,9]]},"11":{"position":[[104,9],[199,9]]},"23":{"position":[[457,9],[1295,9],[1443,9]]}}}],["employees",{"_index":2562,"t":{"374":{"position":[[699,9]]}}}],["empty",{"_index":1122,"t":{"42":{"position":[[1207,5]]},"44":{"position":[[2202,6]]}}}],["enable",{"_index":2485,"t":{"361":{"position":[[1017,6],[1090,6],[1615,6],[2083,6],[2175,6]]}}}],["enabled",{"_index":1270,"t":{"44":{"position":[[3588,7]]},"50":{"position":[[100,7]]}}}],["enables",{"_index":1100,"t":{"42":{"position":[[498,7]]},"97":{"position":[[90,7]]},"307":{"position":[[331,7]]},"339":{"position":[[779,7]]}}}],["enabling",{"_index":1713,"t":{"115":{"position":[[166,8]]},"160":{"position":[[2036,8]]},"343":{"position":[[107,8]]},"345":{"position":[[198,8]]},"374":{"position":[[2030,8]]}}}],["encoded",{"_index":1187,"t":{"44":{"position":[[375,7]]}}}],["encounter",{"_index":1923,"t":{"139":{"position":[[61,9]]}}}],["encountered",{"_index":575,"t":{"11":{"position":[[552,11]]}}}],["encourage",{"_index":1328,"t":{"50":{"position":[[278,9]]},"374":{"position":[[1329,9]]}}}],["encourages",{"_index":1018,"t":{"38":{"position":[[458,10]]}}}],["end",{"_index":2120,"t":{"186":{"position":[[56,3]]},"219":{"position":[[15,3],[22,3]]},"233":{"position":[[15,3],[22,3]]},"367":{"position":[[183,3],[190,3]]},"374":{"position":[[418,3]]},"380":{"position":[[3188,3]]}}}],["end_of_business",{"_index":2621,"t":{"380":{"position":[[1202,15],[1344,15],[2608,15]]}}}],["endless",{"_index":49,"t":{"3":{"position":[[589,7]]}}}],["endpoint",{"_index":1705,"t":{"113":{"position":[[388,9],[474,8],[647,8]]},"115":{"position":[[9,8],[326,8],[960,8],[1138,8]]},"117":{"position":[[18,8],[111,8],[192,9]]},"119":{"position":[[20,9],[106,9],[211,9],[340,8],[592,8],[679,8],[726,8],[1033,8],[1100,8],[1152,8],[1289,9]]},"121":{"position":[[29,8],[323,8],[634,8]]}}}],["endpoint's",{"_index":1739,"t":{"119":{"position":[[70,10]]}}}],["engagement",{"_index":2577,"t":{"374":{"position":[[1056,11]]}}}],["engaging",{"_index":1326,"t":{"50":{"position":[[214,8]]}}}],["enhance",{"_index":1084,"t":{"42":{"position":[[84,7]]},"325":{"position":[[402,7]]},"351":{"position":[[128,7]]}}}],["enhancing",{"_index":2428,"t":{"343":{"position":[[296,9]]}}}],["enough",{"_index":108,"t":{"3":{"position":[[1574,7]]},"5":{"position":[[324,7]]},"13":{"position":[[2968,6]]},"65":{"position":[[135,6]]},"374":{"position":[[692,6]]}}}],["ensure",{"_index":548,"t":{"9":{"position":[[2675,6]]},"109":{"position":[[27,6]]},"153":{"position":[[0,6]]},"155":{"position":[[15,6],[107,6]]},"160":{"position":[[150,6]]},"172":{"position":[[0,6]]},"211":{"position":[[0,6]]},"225":{"position":[[0,6]]},"248":{"position":[[0,6]]},"276":{"position":[[0,6]]},"319":{"position":[[201,6]]},"369":{"position":[[0,6]]},"378":{"position":[[0,6]]}}}],["ensures",{"_index":1203,"t":{"44":{"position":[[791,7],[2311,7],[2481,7],[2745,7],[2908,7]]}}}],["ensuring",{"_index":1193,"t":{"44":{"position":[[497,8],[910,8]]},"349":{"position":[[66,8]]},"374":{"position":[[678,8],[1801,8]]}}}],["enter",{"_index":1379,"t":{"58":{"position":[[32,5]]},"317":{"position":[[203,6]]},"361":{"position":[[1845,5],[2059,5]]}}}],["enterprise",{"_index":2275,"t":{"299":{"position":[[340,10]]}}}],["enters",{"_index":1828,"t":{"129":{"position":[[195,6]]}}}],["entire",{"_index":2665,"t":{"380":{"position":[[3268,6]]}}}],["entries",{"_index":1666,"t":{"109":{"position":[[501,7]]}}}],["env",{"_index":1510,"t":{"91":{"position":[[180,3]]}}}],["env/bin/activate",{"_index":1514,"t":{"91":{"position":[[261,16]]}}}],["env\\scripts\\activate",{"_index":1516,"t":{"91":{"position":[[304,20]]}}}],["environment",{"_index":1353,"t":{"52":{"position":[[189,11],[303,11]]},"54":{"position":[[16,11]]},"69":{"position":[[203,11]]},"87":{"position":[[48,11]]},"91":{"position":[[140,12],[205,11]]},"93":{"position":[[122,11]]},"119":{"position":[[901,11]]},"335":{"position":[[150,11]]},"351":{"position":[[401,12]]},"361":{"position":[[202,11]]},"380":{"position":[[753,12]]}}}],["environments",{"_index":1573,"t":{"97":{"position":[[1220,12]]}}}],["equal",{"_index":475,"t":{"7":{"position":[[1711,5]]},"9":{"position":[[730,5],[1990,5]]},"23":{"position":[[1273,5],[1374,5],[1430,5]]}}}],["equals",{"_index":335,"t":{"5":{"position":[[3266,6]]},"15":{"position":[[452,6]]},"31":{"position":[[609,6]]}}}],["equipment",{"_index":2355,"t":{"325":{"position":[[196,9]]},"345":{"position":[[184,10]]}}}],["equivalent",{"_index":2158,"t":{"198":{"position":[[87,10]]}}}],["error",{"_index":686,"t":{"15":{"position":[[415,5],[441,5],[574,5]]},"141":{"position":[[24,5],[516,5],[1012,6],[1022,5]]},"149":{"position":[[51,6]]},"153":{"position":[[137,5]]},"155":{"position":[[32,5]]},"158":{"position":[[1113,5]]}}}],["errors",{"_index":860,"t":{"23":{"position":[[1226,6]]},"97":{"position":[[864,7],[919,6]]},"139":{"position":[[71,6],[132,6]]},"147":{"position":[[73,7],[121,6]]},"151":{"position":[[63,7]]},"153":{"position":[[51,6]]},"155":{"position":[[147,6],[287,6]]},"158":{"position":[[1158,7]]}}}],["escalate",{"_index":1719,"t":{"115":{"position":[[666,8]]},"158":{"position":[[954,8]]}}}],["escalated",{"_index":1413,"t":{"65":{"position":[[238,9]]},"158":{"position":[[1289,9]]},"198":{"position":[[601,9]]},"200":{"position":[[645,9]]}}}],["escalating",{"_index":1718,"t":{"115":{"position":[[555,10]]}}}],["escalation",{"_index":1431,"t":{"67":{"position":[[14,10]]},"200":{"position":[[245,10]]},"207":{"position":[[197,10],[465,10]]}}}],["esp32",{"_index":2085,"t":{"168":{"position":[[79,5]]},"264":{"position":[[71,5]]},"266":{"position":[[95,5],[216,5],[328,5]]},"270":{"position":[[45,5],[174,5],[223,5],[266,5]]},"272":{"position":[[70,6]]}}}],["esp32s3",{"_index":2244,"t":{"270":{"position":[[304,7]]}}}],["estimate",{"_index":114,"t":{"3":{"position":[[1657,8],[1873,8]]},"5":{"position":[[3,8],[2539,8]]},"25":{"position":[[396,8]]}}}],["estimated",{"_index":378,"t":{"5":{"position":[[4157,9]]},"23":{"position":[[1390,9]]},"25":{"position":[[456,9]]}}}],["estimating",{"_index":349,"t":{"5":{"position":[[3522,10]]}}}],["et",{"_index":900,"t":{"27":{"position":[[143,2]]},"31":{"position":[[766,2]]}}}],["etc",{"_index":1120,"t":{"42":{"position":[[1130,4]]},"333":{"position":[[231,4]]}}}],["evaluates",{"_index":2155,"t":{"196":{"position":[[14,9]]},"200":{"position":[[7,9]]}}}],["evaluating",{"_index":300,"t":{"5":{"position":[[2554,10],[4469,10]]}}}],["even",{"_index":220,"t":{"5":{"position":[[804,4]]},"9":{"position":[[1075,4],[2621,4],[2916,4]]},"17":{"position":[[1272,4]]},"65":{"position":[[405,4]]},"115":{"position":[[1086,4]]},"160":{"position":[[204,4]]},"217":{"position":[[59,4]]},"231":{"position":[[60,4]]}}}],["event",{"_index":928,"t":{"29":{"position":[[621,5]]},"141":{"position":[[7,5]]},"380":{"position":[[3103,6]]}}}],["events",{"_index":543,"t":{"9":{"position":[[2554,6]]},"29":{"position":[[60,7]]}}}],["everyone",{"_index":1027,"t":{"38":{"position":[[666,8]]}}}],["evidenced",{"_index":553,"t":{"9":{"position":[[2899,9]]}}}],["exact",{"_index":100,"t":{"3":{"position":[[1460,5],[2177,5],[2846,6]]},"11":{"position":[[242,5]]},"13":{"position":[[69,5]]},"21":{"position":[[2351,5]]},"23":{"position":[[80,5],[1648,5]]},"25":{"position":[[260,5],[480,5]]}}}],["exactly",{"_index":296,"t":{"5":{"position":[[2444,7]]},"7":{"position":[[116,7]]},"11":{"position":[[129,7],[627,7]]},"13":{"position":[[449,7],[1878,7]]}}}],["examined",{"_index":485,"t":{"9":{"position":[[15,8]]}}}],["example",{"_index":255,"t":{"5":{"position":[[1563,7],[1778,7],[1992,7],[2263,7],[3697,7]]},"7":{"position":[[275,7]]},"17":{"position":[[482,8]]},"46":{"position":[[796,8]]},"72":{"position":[[175,8]]},"77":{"position":[[74,8]]},"105":{"position":[[259,8]]},"107":{"position":[[735,8]]},"109":{"position":[[315,8]]},"119":{"position":[[1015,8]]},"129":{"position":[[866,8]]},"133":{"position":[[84,8]]},"137":{"position":[[1508,7]]},"160":{"position":[[699,8]]},"192":{"position":[[471,8],[691,8]]},"203":{"position":[[71,8],[126,8]]},"219":{"position":[[26,7]]},"233":{"position":[[26,7]]},"323":{"position":[[14,7]]},"329":{"position":[[122,7]]},"333":{"position":[[413,8]]},"339":{"position":[[66,8]]},"355":{"position":[[8,7],[117,8]]},"357":{"position":[[97,8]]},"361":{"position":[[504,7],[720,8]]},"365":{"position":[[20,7]]},"374":{"position":[[5,7]]}}}],["examples",{"_index":226,"t":{"5":{"position":[[967,8],[1400,8],[2593,9],[3391,8],[3649,9],[4294,8],[4512,9]]},"9":{"position":[[161,8],[396,9]]},"13":{"position":[[1312,8],[1385,9],[2834,9]]},"15":{"position":[[670,9],[727,9],[1078,8]]},"19":{"position":[[89,8],[142,8],[281,8]]},"21":{"position":[[204,8],[258,8],[312,8],[396,8]]},"25":{"position":[[568,8]]},"72":{"position":[[727,9]]},"115":{"position":[[768,8],[866,9]]},"363":{"position":[[104,9]]}}}],["exceeded",{"_index":1968,"t":{"141":{"position":[[981,8]]}}}],["excellent",{"_index":1312,"t":{"48":{"position":[[617,9]]}}}],["except",{"_index":1131,"t":{"42":{"position":[[1458,6]]},"141":{"position":[[385,6]]},"371":{"position":[[1302,6]]},"380":{"position":[[2018,6]]}}}],["exception",{"_index":1930,"t":{"141":{"position":[[99,9]]},"145":{"position":[[124,10]]},"147":{"position":[[25,9]]},"380":{"position":[[2025,9]]}}}],["exceptions",{"_index":1928,"t":{"139":{"position":[[188,11]]},"143":{"position":[[77,10]]},"145":{"position":[[24,10],[108,10]]},"149":{"position":[[4,10]]},"153":{"position":[[70,10]]},"155":{"position":[[304,10]]}}}],["execution",{"_index":1089,"t":{"42":{"position":[[240,9]]}}}],["existing",{"_index":2177,"t":{"207":{"position":[[151,8]]},"293":{"position":[[89,8]]},"351":{"position":[[260,8]]}}}],["exists",{"_index":247,"t":{"5":{"position":[[1362,6]]},"13":{"position":[[1712,6]]},"293":{"position":[[184,7]]}}}],["expect",{"_index":1975,"t":{"145":{"position":[[44,6]]},"158":{"position":[[475,6]]}}}],["expected",{"_index":1603,"t":{"101":{"position":[[612,8]]},"135":{"position":[[227,8]]},"137":{"position":[[1155,9]]},"155":{"position":[[56,9]]},"158":{"position":[[621,8]]},"160":{"position":[[240,9]]},"361":{"position":[[1274,9]]}}}],["expects",{"_index":1899,"t":{"137":{"position":[[554,7]]}}}],["experience",{"_index":2589,"t":{"374":{"position":[[1623,10],[2112,11]]}}}],["experiencing",{"_index":1612,"t":{"101":{"position":[[815,12]]}}}],["experimentalapi",{"_index":2277,"t":{"299":{"position":[[382,15],[416,17]]},"301":{"position":[[120,15],[154,17]]}}}],["explore",{"_index":2082,"t":{"168":{"position":[[0,7]]},"323":{"position":[[0,7]]},"374":{"position":[[1381,7]]}}}],["exploring",{"_index":1582,"t":{"97":{"position":[[1558,9]]}}}],["exponential",{"_index":1990,"t":{"151":{"position":[[29,11]]}}}],["export",{"_index":1446,"t":{"69":{"position":[[243,6]]},"93":{"position":[[218,6]]},"119":{"position":[[928,6]]},"335":{"position":[[172,6]]},"361":{"position":[[224,6]]}}}],["exposition",{"_index":173,"t":{"3":{"position":[[2924,10]]}}}],["expression",{"_index":1265,"t":{"44":{"position":[[3423,10]]}}}],["extending",{"_index":1294,"t":{"48":{"position":[[0,9]]}}}],["extra",{"_index":2127,"t":{"186":{"position":[[292,5]]}}}],["extracting",{"_index":1803,"t":{"127":{"position":[[120,10]]}}}],["extremely",{"_index":1072,"t":{"40":{"position":[[1269,9],[1405,9]]},"242":{"position":[[11,9]]}}}],["f",{"_index":2323,"t":{"315":{"position":[[118,1]]},"319":{"position":[[183,1]]},"339":{"position":[[262,1],[341,1],[685,1],[1041,1],[1285,1]]},"361":{"position":[[975,1],[1575,1]]}}}],["f\"hourly",{"_index":2650,"t":{"380":{"position":[[2435,8]]}}}],["f\"{msg}\\n",{"_index":2656,"t":{"380":{"position":[[2723,10]]}}}],["f1",{"_index":76,"t":{"3":{"position":[[1061,2]]}}}],["f_{n,p}(k",{"_index":625,"t":{"13":{"position":[[1589,10]]}}}],["f_{n,p}(k).fn,p(k)=j=0∑kfn,p(k",{"_index":457,"t":{"7":{"position":[[1137,35]]}}}],["f_{n,p}(n",{"_index":696,"t":{"15":{"position":[[963,9]]}}}],["facilitate",{"_index":2303,"t":{"307":{"position":[[93,10]]}}}],["fact",{"_index":230,"t":{"5":{"position":[[1057,5]]},"9":{"position":[[1015,4],[1481,5]]},"11":{"position":[[472,4]]}}}],["factory",{"_index":1500,"t":{"85":{"position":[[151,7]]}}}],["fail",{"_index":793,"t":{"21":{"position":[[1819,4]]}}}],["failing",{"_index":796,"t":{"21":{"position":[[1962,7]]}}}],["fails",{"_index":797,"t":{"21":{"position":[[2028,6],[2133,5],[2258,5]]}}}],["failure",{"_index":799,"t":{"21":{"position":[[2050,7]]}}}],["fairly",{"_index":521,"t":{"9":{"position":[[1642,6]]}}}],["false",{"_index":40,"t":{"3":{"position":[[464,5],[537,5]]},"40":{"position":[[1454,6]]},"44":{"position":[[1131,5]]}}}],["familiar",{"_index":170,"t":{"3":{"position":[[2778,8]]}}}],["far",{"_index":235,"t":{"5":{"position":[[1149,3]]},"299":{"position":[[3,4]]}}}],["fastapi",{"_index":2345,"t":{"321":{"position":[[231,7]]}}}],["faster",{"_index":994,"t":{"34":{"position":[[899,6]]},"36":{"position":[[872,6]]},"65":{"position":[[622,6]]},"119":{"position":[[277,7]]},"158":{"position":[[1388,6]]}}}],["fastest",{"_index":2037,"t":{"158":{"position":[[1527,7]]},"200":{"position":[[283,7]]}}}],["fatigue",{"_index":2496,"t":{"361":{"position":[[2224,7]]}}}],["features",{"_index":1286,"t":{"46":{"position":[[782,9]]},"127":{"position":[[26,8]]},"238":{"position":[[402,9]]},"327":{"position":[[85,8]]},"331":{"position":[[75,8]]}}}],["featuring",{"_index":2304,"t":{"307":{"position":[[258,9]]}}}],["fedora",{"_index":2074,"t":{"164":{"position":[[85,6]]},"184":{"position":[[194,6]]}}}],["feed",{"_index":1606,"t":{"101":{"position":[[676,6]]},"160":{"position":[[743,5]]}}}],["feeder",{"_index":2258,"t":{"293":{"position":[[461,9]]},"331":{"position":[[215,6]]},"355":{"position":[[178,6],[253,7]]},"357":{"position":[[133,6]]},"361":{"position":[[364,8],[778,6],[1751,7],[1907,7],[2441,7]]}}}],["feel",{"_index":1329,"t":{"50":{"position":[[322,4]]},"321":{"position":[[287,4]]}}}],["fetch",{"_index":1659,"t":{"109":{"position":[[122,5]]}}}],["few",{"_index":125,"t":{"3":{"position":[[1844,3]]},"44":{"position":[[1436,3]]},"63":{"position":[[49,3]]},"72":{"position":[[692,3]]},"101":{"position":[[739,3]]},"160":{"position":[[807,3]]},"207":{"position":[[105,3]]},"266":{"position":[[154,3]]}}}],["fewer",{"_index":452,"t":{"7":{"position":[[983,5]]},"13":{"position":[[327,5]]}}}],["fiction",{"_index":233,"t":{"5":{"position":[[1096,8],[1135,7]]}}}],["field",{"_index":1631,"t":{"107":{"position":[[450,5]]}}}],["fields",{"_index":1188,"t":{"44":{"position":[[389,7]]}}}],["figure",{"_index":96,"t":{"3":{"position":[[1363,6],[2465,6]]},"5":{"position":[[4121,6]]},"9":{"position":[[771,6],[1313,6],[2380,6],[3107,6]]},"17":{"position":[[1071,6]]},"21":{"position":[[2979,6]]},"29":{"position":[[513,6]]}}}],["file",{"_index":1401,"t":{"63":{"position":[[258,4]]},"69":{"position":[[516,4]]},"95":{"position":[[338,4]]},"313":{"position":[[30,5],[109,4]]},"319":{"position":[[264,5]]},"339":{"position":[[118,5],[315,4]]},"367":{"position":[[107,4]]}}}],["file=discord.file(fpath",{"_index":1281,"t":{"46":{"position":[[606,25]]}}}],["files",{"_index":2396,"t":{"333":{"position":[[219,5]]},"363":{"position":[[59,6],[134,5]]}}}],["filtering",{"_index":1138,"t":{"42":{"position":[[1810,9]]}}}],["finally",{"_index":2489,"t":{"361":{"position":[[1683,8]]}}}],["find",{"_index":128,"t":{"3":{"position":[[1954,4]]},"11":{"position":[[351,4]]},"13":{"position":[[1925,4],[2251,4],[2499,4]]},"21":{"position":[[472,4],[844,4]]},"60":{"position":[[0,4]]},"113":{"position":[[595,4]]},"264":{"position":[[99,4]]},"293":{"position":[[81,4]]},"337":{"position":[[251,4]]}}}],["fine",{"_index":2146,"t":{"192":{"position":[[408,4]]}}}],["finite",{"_index":301,"t":{"5":{"position":[[2574,6],[3579,6],[4189,6]]},"7":{"position":[[100,6]]}}}],["firmware",{"_index":2235,"t":{"270":{"position":[[108,8]]}}}],["first",{"_index":181,"t":{"5":{"position":[[73,5]]},"13":{"position":[[210,6]]},"21":{"position":[[946,5]]},"44":{"position":[[1843,5]]},"65":{"position":[[16,5],[421,5],[458,5]]},"77":{"position":[[307,5]]},"123":{"position":[[49,5]]},"127":{"position":[[432,5]]},"129":{"position":[[298,5]]},"200":{"position":[[59,5]]},"207":{"position":[[76,5]]},"361":{"position":[[95,6]]},"371":{"position":[[0,6]]},"380":{"position":[[0,6]]}}}],["fixed",{"_index":251,"t":{"5":{"position":[[1470,5]]},"48":{"position":[[206,5]]}}}],["flag",{"_index":2411,"t":{"339":{"position":[[343,4],[774,4],[923,5],[1132,4]]},"361":{"position":[[1306,4],[1420,5]]}}}],["flexibility",{"_index":1054,"t":{"40":{"position":[[799,11]]}}}],["flexible",{"_index":1074,"t":{"40":{"position":[[1292,8]]}}}],["flipping",{"_index":416,"t":{"7":{"position":[[298,8]]}}}],["flips",{"_index":412,"t":{"7":{"position":[[225,6]]},"15":{"position":[[41,5]]}}}],["floats",{"_index":1882,"t":{"137":{"position":[[194,8]]}}}],["floor",{"_index":1501,"t":{"85":{"position":[[159,7]]}}}],["flow",{"_index":1238,"t":{"44":{"position":[[1701,4],[2586,4],[3083,4]]}}}],["flowcharts",{"_index":1231,"t":{"44":{"position":[[1443,11]]}}}],["fn,p(k",{"_index":622,"t":{"13":{"position":[[1534,9]]}}}],["fn,p(k)=(nk)pk(1−p)n−k.f_{n,p}(k",{"_index":437,"t":{"7":{"position":[[679,33]]}}}],["fn,p(k)=∑j=0kfn,p(k).f_{n,p}(k",{"_index":454,"t":{"7":{"position":[[1088,31]]}}}],["fn,p(k)f_{n,p}(k)fn,p(k",{"_index":594,"t":{"13":{"position":[[258,26]]}}}],["fn,p(k)≥δf_{n,p}(k",{"_index":640,"t":{"13":{"position":[[2291,19]]}}}],["fn,p(n−k",{"_index":694,"t":{"15":{"position":[[896,11]]}}}],["fn=100,p(k=80)f_{n=100,p}(k=80)fn=100,p(k=80",{"_index":631,"t":{"13":{"position":[[2021,46]]}}}],["focus",{"_index":968,"t":{"34":{"position":[[475,5]]},"36":{"position":[[448,5]]},"44":{"position":[[3602,5]]},"160":{"position":[[855,5]]}}}],["follow",{"_index":1971,"t":{"143":{"position":[[39,6]]},"162":{"position":[[102,6]]}}}],["following",{"_index":1553,"t":{"97":{"position":[[291,9]]},"101":{"position":[[60,9]]},"103":{"position":[[25,9]]},"121":{"position":[[262,9]]},"155":{"position":[[183,9]]},"172":{"position":[[25,9]]},"174":{"position":[[90,9]]},"176":{"position":[[50,9]]},"178":{"position":[[89,9]]},"180":{"position":[[74,9]]},"211":{"position":[[25,9]]},"213":{"position":[[96,9]]},"215":{"position":[[50,9]]},"225":{"position":[[25,9]]},"227":{"position":[[97,9]]},"229":{"position":[[50,9]]},"248":{"position":[[25,9]]},"250":{"position":[[90,9]]},"252":{"position":[[50,9]]},"254":{"position":[[89,9]]},"256":{"position":[[74,9]]},"268":{"position":[[22,9]]},"270":{"position":[[16,9]]},"276":{"position":[[25,9]]},"278":{"position":[[90,9]]},"280":{"position":[[50,9]]},"282":{"position":[[89,9]]},"284":{"position":[[74,9]]},"339":{"position":[[79,9],[554,9]]},"361":{"position":[[816,9]]}}}],["follows",{"_index":175,"t":{"3":{"position":[[2943,7]]},"21":{"position":[[1764,8]]},"135":{"position":[[306,8]]},"186":{"position":[[265,7]]}}}],["fooled",{"_index":395,"t":{"5":{"position":[[4619,6]]}}}],["forbidden",{"_index":1961,"t":{"141":{"position":[[796,10]]}}}],["force",{"_index":2211,"t":{"242":{"position":[[488,5]]},"293":{"position":[[213,5]]}}}],["form",{"_index":376,"t":{"5":{"position":[[4097,4]]}}}],["formal",{"_index":591,"t":{"13":{"position":[[115,6],[1222,6]]}}}],["format",{"_index":1822,"t":{"127":{"position":[[808,7],[838,6]]},"137":{"position":[[90,6],[764,6]]},"242":{"position":[[220,6],[369,7]]}}}],["formats",{"_index":1798,"t":{"123":{"position":[[189,8]]},"131":{"position":[[49,8]]}}}],["formatted_time",{"_index":2647,"t":{"380":{"position":[[2371,14],[2456,17]]}}}],["formula",{"_index":338,"t":{"5":{"position":[[3353,7]]}}}],["fortunately",{"_index":1269,"t":{"44":{"position":[[3563,12]]},"48":{"position":[[593,12]]}}}],["forward",{"_index":1621,"t":{"105":{"position":[[285,7]]}}}],["found",{"_index":105,"t":{"3":{"position":[[1506,5]]},"141":{"position":[[876,6],[914,5]]}}}],["four",{"_index":544,"t":{"9":{"position":[[2573,4]]},"21":{"position":[[1802,4],[1950,4],[2080,4]]}}}],["frac",{"_index":852,"t":{"23":{"position":[[968,6]]}}}],["fraction",{"_index":188,"t":{"5":{"position":[[234,8],[351,8],[2863,8],[2971,8]]},"13":{"position":[[861,8]]},"23":{"position":[[135,8]]}}}],["frac{1}{n",{"_index":324,"t":{"5":{"position":[[3055,11]]}}}],["frac{\\text{acc}^+(h",{"_index":749,"t":{"19":{"position":[[1192,21]]}}}],["frac{p(1",{"_index":838,"t":{"23":{"position":[[658,9]]}}}],["frame",{"_index":1818,"t":{"127":{"position":[[541,6],[737,5]]},"129":{"position":[[453,5],[722,5],[748,5],[773,5]]},"135":{"position":[[400,5],[433,5],[471,6],[489,5]]},"331":{"position":[[93,5]]},"339":{"position":[[362,5]]},"361":{"position":[[988,5],[1588,5]]},"371":{"position":[[398,5]]},"380":{"position":[[497,5]]}}}],["framegrab",{"_index":1315,"t":{"48":{"position":[[649,10]]},"107":{"position":[[863,9]]},"125":{"position":[[70,10]]},"127":{"position":[[0,9],[553,9],[760,9],[957,9]]},"129":{"position":[[0,9],[502,9]]}}}],["framegrab[all",{"_index":1814,"t":{"127":{"position":[[398,14]]}}}],["framegrabber",{"_index":1640,"t":{"107":{"position":[[880,12],[940,12]]},"127":{"position":[[450,12],[570,12],[594,12]]},"129":{"position":[[519,13]]}}}],["framegrabber.create_grabber(config",{"_index":1648,"t":{"107":{"position":[[1044,35]]},"127":{"position":[[701,35]]},"129":{"position":[[597,35]]}}}],["frames",{"_index":1815,"t":{"127":{"position":[[424,7]]},"333":{"position":[[115,6]]},"339":{"position":[[293,6],[385,6],[723,6],[831,6]]},"341":{"position":[[29,6]]},"361":{"position":[[1057,6],[1655,6],[2342,6]]}}}],["free",{"_index":1330,"t":{"50":{"position":[[327,4]]},"321":{"position":[[292,4]]}}}],["frequency",{"_index":1298,"t":{"48":{"position":[[99,9]]}}}],["frequentist",{"_index":932,"t":{"31":{"position":[[21,11]]}}}],["frequently",{"_index":1145,"t":{"42":{"position":[[1931,10]]}}}],["friendly",{"_index":2001,"t":{"153":{"position":[[128,8]]}}}],["full",{"_index":353,"t":{"5":{"position":[[3628,4],[4244,4],[4491,4]]},"46":{"position":[[945,4]]},"77":{"position":[[121,6]]},"107":{"position":[[169,4]]},"160":{"position":[[1216,7]]}}}],["fun",{"_index":999,"t":{"38":{"position":[[72,3],[773,3]]},"44":{"position":[[3548,3]]},"50":{"position":[[206,3]]},"361":{"position":[[538,3]]}}}],["function",{"_index":225,"t":{"5":{"position":[[935,8],[1850,9],[3251,8]]},"7":{"position":[[652,8],[796,8],[829,8],[1603,8]]},"13":{"position":[[248,9]]},"44":{"position":[[332,8]]},"109":{"position":[[453,8]]},"160":{"position":[[195,8]]},"371":{"position":[[287,8],[552,8],[1528,9],[1681,9]]},"380":{"position":[[386,8],[651,8],[2986,9],[3249,9]]}}}],["functional",{"_index":1997,"t":{"153":{"position":[[32,10]]}}}],["functionality",{"_index":1182,"t":{"44":{"position":[[89,14]]},"48":{"position":[[14,13]]},"129":{"position":[[283,14]]},"242":{"position":[[144,14]]}}}],["functions",{"_index":459,"t":{"7":{"position":[[1224,9]]}}}],["funny",{"_index":1011,"t":{"38":{"position":[[363,5]]}}}],["furthermore",{"_index":1099,"t":{"42":{"position":[[482,12]]}}}],["future",{"_index":1721,"t":{"115":{"position":[[935,6]]},"207":{"position":[[309,7]]}}}],["gather",{"_index":1422,"t":{"65":{"position":[[427,6]]}}}],["gaussian",{"_index":169,"t":{"3":{"position":[[2738,8]]}}}],["gave",{"_index":615,"t":{"13":{"position":[[1058,4]]}}}],["ge",{"_index":626,"t":{"13":{"position":[[1600,3],[2311,3]]},"15":{"position":[[978,3]]},"23":{"position":[[912,3]]}}}],["geforce",{"_index":1775,"t":{"121":{"position":[[183,7]]}}}],["general",{"_index":1044,"t":{"40":{"position":[[415,7]]}}}],["generally",{"_index":2122,"t":{"186":{"position":[[72,9]]}}}],["generated",{"_index":1383,"t":{"58":{"position":[[89,9]]}}}],["generative",{"_index":1434,"t":{"67":{"position":[[58,10]]}}}],["generic",{"_index":1641,"t":{"107":{"position":[[959,7]]},"127":{"position":[[183,7],[613,7]]}}}],["generic_usb",{"_index":1646,"t":{"107":{"position":[[1019,14]]},"127":{"position":[[674,14]]},"129":{"position":[[572,14]]}}}],["german",{"_index":2289,"t":{"301":{"position":[[229,7]]}}}],["get_image",{"_index":1941,"t":{"141":{"position":[[363,12]]}}}],["get_image_query",{"_index":1658,"t":{"109":{"position":[[96,15]]},"198":{"position":[[165,15]]},"207":{"position":[[374,17]]}}}],["get_off_couch.mp3",{"_index":2516,"t":{"367":{"position":[[119,18]]}}}],["get_or_create_detector(name",{"_index":2252,"t":{"293":{"position":[[25,28]]}}}],["get_state(self",{"_index":1225,"t":{"44":{"position":[[1250,15]]}}}],["get_token_from_secure_location",{"_index":1360,"t":{"52":{"position":[[408,32]]}}}],["getting",{"_index":1255,"t":{"44":{"position":[[3167,7]]}}}],["ggc_user",{"_index":2327,"t":{"317":{"position":[[59,8]]}}}],["gige",{"_index":1810,"t":{"127":{"position":[[304,4]]}}}],["git",{"_index":995,"t":{"34":{"position":[[911,3]]},"36":{"position":[[884,3]]},"311":{"position":[[101,3]]},"321":{"position":[[33,3]]}}}],["github",{"_index":1331,"t":{"50":{"position":[[342,6]]},"113":{"position":[[659,7]]},"219":{"position":[[73,6]]},"233":{"position":[[75,6]]},"272":{"position":[[97,6],[272,6]]},"311":{"position":[[20,6]]}}}],["give",{"_index":590,"t":{"13":{"position":[[103,4],[1213,4]]},"337":{"position":[[104,4]]}}}],["given",{"_index":489,"t":{"9":{"position":[[297,5]]},"13":{"position":[[1284,6]]},"15":{"position":[[637,6]]},"17":{"position":[[83,5],[202,5]]}}}],["gives",{"_index":595,"t":{"13":{"position":[[285,5]]},"46":{"position":[[724,5]]},"361":{"position":[[1976,5]]}}}],["giving",{"_index":804,"t":{"21":{"position":[[2290,6]]},"38":{"position":[[659,6]]}}}],["gl",{"_index":1357,"t":{"52":{"position":[[324,2],[441,2]]},"63":{"position":[[106,2]]},"69":{"position":[[364,2]]},"95":{"position":[[143,2]]},"119":{"position":[[817,2]]},"133":{"position":[[151,2]]},"141":{"position":[[213,2]]},"160":{"position":[[960,2]]},"192":{"position":[[232,2],[736,2]]},"196":{"position":[[199,2]]},"198":{"position":[[259,2]]},"200":{"position":[[442,2]]},"203":{"position":[[245,2]]},"205":{"position":[[36,2]]},"207":{"position":[[726,2]]},"293":{"position":[[346,2]]},"295":{"position":[[258,2],[419,2]]},"297":{"position":[[310,2]]},"371":{"position":[[989,2]]},"380":{"position":[[1393,2]]}}}],["gl.add_label(image_query",{"_index":2186,"t":{"207":{"position":[[1026,25]]}}}],["gl.ask_async(detector=detector",{"_index":1652,"t":{"107":{"position":[[1213,31]]},"111":{"position":[[691,31]]},"198":{"position":[[374,31]]}}}],["gl.ask_confident(detector=detector",{"_index":2157,"t":{"196":{"position":[[279,35]]}}}],["gl.ask_ml(detector=detector",{"_index":2168,"t":{"200":{"position":[[522,28]]}}}],["gl.create_detector(name=\"your_detector_name",{"_index":2255,"t":{"293":{"position":[[376,45]]}}}],["gl.get_detector(id=\"det_abcdef",{"_index":2144,"t":{"192":{"position":[[262,35],[766,35]]},"196":{"position":[[229,35]]},"198":{"position":[[289,35]]},"200":{"position":[[472,35]]}}}],["gl.get_detector(id=\"your_detector_id",{"_index":2262,"t":{"295":{"position":[[288,38]]}}}],["gl.get_detector_by_name(name=\"your_detector_name",{"_index":2264,"t":{"295":{"position":[[449,50]]}}}],["gl.get_image_query(id=\"iq_your_image_query_id",{"_index":2169,"t":{"203":{"position":[[278,47]]}}}],["gl.get_image_query(id=image_query.id",{"_index":1689,"t":{"111":{"position":[[875,37]]},"198":{"position":[[685,37]]}}}],["gl.get_image_query(id=image_query_id",{"_index":1668,"t":{"109":{"position":[[744,37]]}}}],["gl.get_or_create_detector",{"_index":1459,"t":{"72":{"position":[[326,26]]},"95":{"position":[[178,26]]},"141":{"position":[[241,26]]},"160":{"position":[[1151,26]]},"380":{"position":[[1423,26]]}}}],["gl.get_or_create_detector(\"dog",{"_index":2543,"t":{"371":{"position":[[1019,30]]}}}],["gl.get_or_create_detector(name=\"doorway",{"_index":1396,"t":{"63":{"position":[[131,41]]},"69":{"position":[[389,41]]},"207":{"position":[[749,41]]}}}],["gl.get_or_create_detector(name=\"path",{"_index":1856,"t":{"133":{"position":[[176,36]]}}}],["gl.get_or_create_detector(name=\"your_detector_name",{"_index":1649,"t":{"107":{"position":[[1091,52]]},"109":{"position":[[577,52]]},"111":{"position":[[558,52]]}}}],["gl.list_detectors",{"_index":2269,"t":{"297":{"position":[[375,19]]}}}],["gl.list_detectors(page=1",{"_index":2270,"t":{"297":{"position":[[452,25]]}}}],["gl.list_image_queries",{"_index":2171,"t":{"205":{"position":[[105,23]]}}}],["gl.list_image_queries(page=1",{"_index":2174,"t":{"205":{"position":[[190,29]]}}}],["gl.submit_image_query",{"_index":2058,"t":{"160":{"position":[[1390,22]]},"192":{"position":[[816,22]]}}}],["gl.submit_image_query(d",{"_index":1940,"t":{"141":{"position":[[338,24]]}}}],["gl.submit_image_query(det",{"_index":1860,"t":{"133":{"position":[[303,26]]}}}],["gl.submit_image_query(detector",{"_index":1873,"t":{"135":{"position":[[439,31]]},"137":{"position":[[475,31]]}}}],["gl.submit_image_query(detector=d",{"_index":2185,"t":{"207":{"position":[[979,33]]}}}],["gl.submit_image_query(detector=det",{"_index":1404,"t":{"63":{"position":[[296,35]]},"69":{"position":[[554,35]]},"95":{"position":[[376,35]]}}}],["gl.submit_image_query(detector=detector",{"_index":1466,"t":{"72":{"position":[[457,40]]},"192":{"position":[[312,40]]}}}],["gl.submit_image_query(image=image",{"_index":2544,"t":{"371":{"position":[[1126,34]]},"380":{"position":[[1955,34]]}}}],["gl.wait_for_confident_result(id=image_query.id",{"_index":1691,"t":{"111":{"position":[[1081,47]]}}}],["gl_experimental",{"_index":2278,"t":{"299":{"position":[[398,15]]},"301":{"position":[[136,15]]}}}],["gl_experimental.create_counting_detector(name=\"your_detector_name",{"_index":2279,"t":{"299":{"position":[[445,67]]}}}],["gl_experimental.create_multiclass_detector",{"_index":2291,"t":{"301":{"position":[[259,43]]}}}],["go",{"_index":2108,"t":{"182":{"position":[[183,3]]},"186":{"position":[[153,2]]},"258":{"position":[[183,3]]},"266":{"position":[[166,2]]},"286":{"position":[[189,3]]}}}],["goal",{"_index":282,"t":{"5":{"position":[[2095,4],[4598,4]]}}}],["goes",{"_index":833,"t":{"23":{"position":[[565,4]]}}}],["golden",{"_index":2286,"t":{"301":{"position":[[186,8]]}}}],["gone",{"_index":1610,"t":{"101":{"position":[[796,4]]}}}],["good",{"_index":505,"t":{"9":{"position":[[1047,4],[1649,4]]},"72":{"position":[[634,4],[696,4]]},"182":{"position":[[175,4]]},"258":{"position":[[175,4]]},"286":{"position":[[181,4]]}}}],["gpu",{"_index":1778,"t":{"121":{"position":[[208,4]]}}}],["grab",{"_index":1817,"t":{"127":{"position":[[514,6]]}}}],["grabber",{"_index":1647,"t":{"107":{"position":[[1034,7]]},"127":{"position":[[691,7]]},"129":{"position":[[587,7]]}}}],["grabber.grab",{"_index":1651,"t":{"107":{"position":[[1184,14]]},"127":{"position":[[745,14]]},"129":{"position":[[730,14]]}}}],["grabber.release",{"_index":1656,"t":{"107":{"position":[[1420,17]]}}}],["grabbing",{"_index":1555,"t":{"97":{"position":[[387,8]]},"107":{"position":[[1396,8]]}}}],["gracefully",{"_index":1927,"t":{"139":{"position":[[170,10]]},"153":{"position":[[81,11]]},"155":{"position":[[154,10]]},"238":{"position":[[332,10]]}}}],["grained",{"_index":2147,"t":{"192":{"position":[[413,7]]}}}],["graphs",{"_index":1785,"t":{"121":{"position":[[272,6]]}}}],["gray",{"_index":350,"t":{"5":{"position":[[3600,4],[4033,4],[4210,4]]}}}],["great",{"_index":386,"t":{"5":{"position":[[4430,6]]}}}],["greater",{"_index":557,"t":{"9":{"position":[[3324,8]]},"11":{"position":[[823,7]]},"21":{"position":[[1976,7],[2155,7]]},"29":{"position":[[469,7]]},"31":{"position":[[485,7]]}}}],["greengrass",{"_index":2313,"t":{"311":{"position":[[258,11]]},"317":{"position":[[76,10],[107,10],[175,10],[246,10],[359,10]]}}}],["grime",{"_index":956,"t":{"34":{"position":[[312,6]]},"36":{"position":[[285,6]]},"38":{"position":[[33,5],[806,5]]},"40":{"position":[[4,5],[133,5],[284,5],[464,5],[595,5],[1168,5],[1381,5]]},"42":{"position":[[4,5]]},"44":{"position":[[4,5],[1033,5],[2328,5],[2925,5]]},"46":{"position":[[4,5]]},"50":{"position":[[408,5],[489,5]]}}}],["ground",{"_index":111,"t":{"3":{"position":[[1626,6],[1675,6],[1848,6],[2881,6]]},"25":{"position":[[547,6]]}}}],["groundlight",{"_index":0,"t":{"3":{"position":[[3,12],[2141,12]]},"11":{"position":[[425,12]]},"25":{"position":[[3,12]]},"34":{"position":[[0,11],[39,11],[284,11],[540,11],[850,11]]},"36":{"position":[[12,11],[257,11],[513,11],[823,11]]},"38":{"position":[[84,11],[437,11],[834,11]]},"40":{"position":[[57,11],[219,11],[497,11],[1106,11],[1544,11]]},"42":{"position":[[814,11],[1275,11],[1794,11],[1985,13]]},"44":{"position":[[3576,11]]},"46":{"position":[[1142,12]]},"48":{"position":[[133,12],[189,11],[580,12]]},"50":{"position":[[88,11]]},"52":{"position":[[44,11],[229,11],[248,11],[329,13],[369,11],[388,11]]},"63":{"position":[[75,11],[94,11],[111,13]]},"69":{"position":[[12,11],[81,11],[110,11],[333,11],[352,11],[369,13]]},"72":{"position":[[0,11]]},"77":{"position":[[137,12]]},"87":{"position":[[81,11],[107,11],[159,11],[203,11]]},"89":{"position":[[17,11],[59,11]]},"91":{"position":[[0,11],[79,11],[168,11],[249,11],[290,13],[337,11],[376,11]]},"93":{"position":[[21,11],[64,11]]},"95":{"position":[[9,11],[90,11],[109,12],[148,13],[565,11],[1162,11],[1259,11]]},"97":{"position":[[0,11],[155,12],[374,12],[485,12],[580,11],[657,11],[968,12],[1003,11],[1142,11],[1190,11]]},"99":{"position":[[0,11],[208,11]]},"103":{"position":[[0,11]]},"105":{"position":[[0,11],[348,12]]},"107":{"position":[[56,11],[341,12],[898,11],[917,11]]},"109":{"position":[[38,11],[535,11],[554,11],[814,11]]},"111":{"position":[[215,11],[516,11],[535,11],[760,11],[957,11],[1024,11],[1164,11]]},"113":{"position":[[560,11]]},"115":{"position":[[139,11],[290,11],[742,11]]},"117":{"position":[[72,11]]},"119":{"position":[[38,11],[194,11],[372,11],[624,11],[746,11],[786,11],[805,11]]},"123":{"position":[[32,12]]},"125":{"position":[[125,12]]},"133":{"position":[[4,11],[98,11],[117,11],[156,13]]},"135":{"position":[[194,11],[498,11]]},"137":{"position":[[4,11],[542,11],[1047,12],[1101,11],[1247,12]]},"139":{"position":[[36,11]]},"141":{"position":[[54,11],[168,11],[201,11],[218,13]]},"143":{"position":[[22,11]]},"147":{"position":[[149,11]]},"155":{"position":[[330,11]]},"158":{"position":[[338,11],[840,11],[937,11]]},"160":{"position":[[547,11],[891,11],[910,11],[965,13],[1523,11]]},"162":{"position":[[4,11]]},"168":{"position":[[34,12],[263,11]]},"170":{"position":[[37,11],[67,11]]},"174":{"position":[[132,11]]},"176":{"position":[[15,11],[98,11],[204,11],[220,11]]},"178":{"position":[[16,11],[135,12],[187,11],[242,11]]},"180":{"position":[[27,11],[119,11],[180,11],[269,11]]},"186":{"position":[[827,12],[853,11]]},"188":{"position":[[36,11]]},"190":{"position":[[85,11]]},"192":{"position":[[201,11],[220,11],[237,13],[705,11],[724,11],[741,13]]},"196":{"position":[[38,11],[168,11],[187,11],[204,13]]},"198":{"position":[[228,11],[247,11],[264,13]]},"200":{"position":[[31,11],[72,11],[411,11],[430,11],[447,13]]},"203":{"position":[[214,11],[233,11],[250,13]]},"205":{"position":[[5,11],[24,11],[41,13]]},"207":{"position":[[0,11],[695,11],[714,11],[731,13]]},"209":{"position":[[37,11],[74,11]]},"213":{"position":[[138,11]]},"215":{"position":[[15,11],[99,11],[175,11]]},"221":{"position":[[36,11]]},"223":{"position":[[37,11],[83,11]]},"227":{"position":[[139,11]]},"229":{"position":[[15,11],[99,11],[175,11]]},"235":{"position":[[36,11]]},"238":{"position":[[4,11],[95,11]]},"240":{"position":[[92,11],[236,11],[278,11]]},"242":{"position":[[60,11]]},"246":{"position":[[37,11],[67,11]]},"250":{"position":[[132,11]]},"252":{"position":[[15,11],[98,11],[204,11],[220,11]]},"254":{"position":[[16,11],[135,12],[187,11],[242,11]]},"256":{"position":[[27,11],[119,11],[180,11],[269,11]]},"262":{"position":[[36,11]]},"264":{"position":[[0,11]]},"266":{"position":[[68,11]]},"272":{"position":[[206,11]]},"274":{"position":[[37,11],[69,11]]},"278":{"position":[[132,11]]},"280":{"position":[[15,11],[104,11],[210,11],[226,11]]},"282":{"position":[[16,11],[135,12]]},"284":{"position":[[27,11],[119,11],[180,11],[269,11]]},"290":{"position":[[36,11]]},"293":{"position":[[315,11],[334,11],[351,13]]},"295":{"position":[[128,11],[227,11],[246,11],[263,13],[388,11],[407,11],[424,13]]},"297":{"position":[[73,11],[279,11],[298,11],[315,13]]},"299":{"position":[[363,11]]},"301":{"position":[[101,11]]},"303":{"position":[[85,11]]},"305":{"position":[[75,11]]},"307":{"position":[[135,11]]},"333":{"position":[[4,11],[125,12],[347,11]]},"335":{"position":[[17,11],[59,11],[122,11]]},"337":{"position":[[22,11]]},"339":{"position":[[323,12],[754,12],[841,11],[1302,11]]},"341":{"position":[[39,12],[184,11]]},"343":{"position":[[168,11]]},"355":{"position":[[199,11]]},"357":{"position":[[238,11]]},"359":{"position":[[9,11]]},"361":{"position":[[4,11],[142,11],[174,11],[659,11],[1161,11],[1766,11],[2373,12]]},"365":{"position":[[49,11]]},"367":{"position":[[0,11]]},"369":{"position":[[69,11],[144,11]]},"371":{"position":[[21,11],[233,11],[252,12],[994,13],[1561,11]]},"374":{"position":[[45,11],[1897,11]]},"376":{"position":[[0,11]]},"378":{"position":[[69,11],[144,11]]},"380":{"position":[[21,11],[346,11],[365,11],[1398,13],[3019,11]]}}}],["groundlight's",{"_index":56,"t":{"3":{"position":[[672,13],[818,13]]},"42":{"position":[[2163,13]]},"67":{"position":[[0,13]]},"97":{"position":[[1683,13]]},"113":{"position":[[127,13]]},"115":{"position":[[186,13]]},"131":{"position":[[0,13]]},"303":{"position":[[0,13]]},"323":{"position":[[42,13]]},"325":{"position":[[0,13]]},"331":{"position":[[49,13]]},"345":{"position":[[0,13]]},"347":{"position":[[12,13]]},"349":{"position":[[0,13]]},"351":{"position":[[0,13]]},"353":{"position":[[24,13]]}}}],["groundlight(api_token=token",{"_index":1361,"t":{"52":{"position":[[446,28]]}}}],["groundlight(endpoint=\"http://localhost:30101",{"_index":1751,"t":{"119":{"position":[[822,46]]}}}],["groundlight.ai",{"_index":2301,"t":{"305":{"position":[[111,15]]}}}],["groundlight/stream",{"_index":2188,"t":{"217":{"position":[[84,18]]},"231":{"position":[[85,18]]},"339":{"position":[[161,18],[584,18],[940,18],[1184,18]]},"355":{"position":[[79,18]]},"359":{"position":[[51,18]]},"361":{"position":[[846,18],[1446,18]]},"363":{"position":[[17,18],[195,18],[327,18]]}}}],["groundlight_api_token",{"_index":1356,"t":{"52":{"position":[[281,21]]},"69":{"position":[[181,21]]},"93":{"position":[[143,22],[279,21]]},"141":{"position":[[746,21]]},"339":{"position":[[185,24],[608,24],[964,24],[1208,24]]},"361":{"position":[[870,24],[1470,24]]},"363":{"position":[[219,24],[351,24]]}}}],["groundlight_api_token=\"