diff --git a/search-index.json b/search-index.json index 0cdf5b34..f6624933 100644 --- a/search-index.json +++ b/search-index.json @@ -1 +1 @@ -[{"documents":[{"i":1,"t":"Best practices for best results with Groundlight","u":"/python-sdk/blog/best-practices","b":["Blog"]},{"i":15,"t":"","u":"/python-sdk/blog/archive","b":["Blog"]},{"i":16,"t":"Navigating Ambiguity with Groundlight AI Detectors","u":"/python-sdk/blog/dealing-with-unclear-images","b":["Blog"]},{"i":22,"t":"Building your first computer vision model just got easier","u":"/python-sdk/blog/getting-started","b":["Blog"]},{"i":32,"t":"Introducing Groundlight's FrameGrab Library","u":"/python-sdk/blog/introducing-framegrab","b":["Blog"]},{"i":44,"t":"The Grime Guardian: Building Stateful Multi-camera applications with Groundlight","u":"/python-sdk/blog/grime-guardian","b":["Blog"]},{"i":62,"t":"Linux OS Images for Computer Vision on Raspberry Pi","u":"/python-sdk/blog/raspberry-pi-computer-vision","b":["Blog"]},{"i":72,"t":"","u":"/python-sdk/docs/api-reference","b":["Docs"]},{"i":73,"t":"Building Applications","u":"/python-sdk/docs/building-applications","b":["Docs","Building Applications"]},{"i":79,"t":"Asynchronous Queries","u":"/python-sdk/docs/building-applications/async-queries","b":["Docs","Building Applications"]},{"i":87,"t":"Using Groundlight on the Edge","u":"/python-sdk/docs/building-applications/edge","b":["Docs","Building Applications"]},{"i":93,"t":"Grabbing Images","u":"/python-sdk/docs/building-applications/grabbing-images","b":["Docs","Building Applications"]},{"i":105,"t":"Handling Server Errors","u":"/python-sdk/docs/building-applications/handling-errors","b":["Docs","Building Applications"]},{"i":123,"t":"Confidence Levels","u":"/python-sdk/docs/building-applications/managing-confidence","b":["Docs","Building Applications"]},{"i":125,"t":"Sample Applications","u":"/python-sdk/docs/building-applications/sample-applications","b":["Docs","Building Applications"]},{"i":135,"t":"Working with Detectors","u":"/python-sdk/docs/building-applications/working-with-detectors","b":["Docs","Building Applications"]},{"i":148,"t":"Getting Started","u":"/python-sdk/docs/getting-started","b":["Docs","Getting Started"]},{"i":157,"t":"API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","b":["Docs","Getting Started"]},{"i":172,"t":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/building-applications/industrial","b":["Docs","Building Applications"]},{"i":184,"t":"A Serious Example: Retail Analytics","u":"/python-sdk/docs/getting-started/retail-analytics","b":["Docs","Getting Started"]},{"i":193,"t":"A Quick Example: Live Stream Alert","u":"/python-sdk/docs/getting-started/streaming","b":["Docs","Getting Started"]},{"i":201,"t":"Installation","u":"/python-sdk/docs/installation","b":["Docs","Installation"]},{"i":205,"t":"Writing Queries","u":"/python-sdk/docs/getting-started/writing-queries","b":["Docs","Getting Started"]},{"i":221,"t":"Tales from the Binomial Tail: Confidence intervals for balanced accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","b":["Blog"]},{"i":251,"t":"A Fun Example: Dog-on-Couch Detector","u":"/python-sdk/docs/getting-started/dog-on-couch","b":["Docs","Getting Started"]},{"i":259,"t":"Installing on Linux","u":"/python-sdk/docs/installation/linux","b":["Docs","Installation"]},{"i":279,"t":"Installing on macOS","u":"/python-sdk/docs/installation/macos","b":["Docs","Installation"]},{"i":297,"t":"Installing on NVIDIA Jetson","u":"/python-sdk/docs/installation/nvidia-jetson","b":["Docs","Installation"]},{"i":311,"t":"Optional libraries","u":"/python-sdk/docs/installation/optional-libraries","b":["Docs","Installation"]},{"i":320,"t":"Installing on Raspberry Pi","u":"/python-sdk/docs/installation/raspberry-pi","b":["Docs","Installation"]},{"i":334,"t":"Installing on Windows","u":"/python-sdk/docs/installation/windows","b":["Docs","Installation"]},{"i":352,"t":"No-Code IoT Deployment","u":"/python-sdk/docs/iot","b":["Docs"]},{"i":362,"t":"Monitoring Notification Server","u":"/python-sdk/docs/installation/monitoring-notification-server","b":["Docs","Installation"]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,3.684,1,2.517,2,2.517,3,1.631]],["t/15",[]],["t/16",[3,1.631,4,2.517,5,2.517,6,2.517,7,2.105]],["t/22",[8,1.66,9,2.278,10,1.906,11,1.906,12,2.278,13,2.278]],["t/32",[14,2.811,15,2.811,16,2.811,17,2.811]],["t/44",[3,1.241,8,1.395,18,1.915,19,1.915,20,1.915,21,1.915,22,1.915,23,1.241]],["t/62",[10,1.741,11,1.741,24,1.741,25,2.081,26,1.741,27,1.741,28,1.741]],["t/72",[]],["t/73",[8,2.673,23,2.378]],["t/79",[29,3.669,30,3.069]],["t/87",[3,2.063,31,3.184,32,3.184]],["t/93",[26,3.069,33,3.669]],["t/105",[34,3.184,35,2.662,36,3.184]],["t/123",[37,3.069,38,3.669]],["t/125",[23,2.378,39,3.669]],["t/135",[7,3.069,40,3.669]],["t/148",[41,3.669,42,3.669]],["t/157",[43,3.669,44,3.669]],["t/172",[23,2.063,45,3.184,46,3.184]],["t/184",[47,2.811,48,2.048,49,2.811,50,2.811]],["t/193",[48,1.834,51,2.517,52,2.517,53,2.517,54,2.517]],["t/201",[55,4.33]],["t/205",[30,3.069,56,3.669]],["t/221",[37,1.741,57,2.081,58,2.081,59,2.081,60,2.081,61,2.081,62,2.081]],["t/251",[48,1.834,63,2.517,64,2.517,65,2.517,66,2.517]],["t/259",[24,3.069,67,2.142]],["t/279",[67,2.142,68,3.669]],["t/297",[67,1.858,69,3.184,70,3.184]],["t/311",[71,3.669,72,3.669]],["t/320",[27,2.662,28,2.662,67,1.858]],["t/334",[67,2.142,73,3.669]],["t/352",[74,3.184,75,3.184,76,3.184]],["t/362",[35,2.662,77,3.184,78,3.184]]],"invertedIndex":[["accuracy",{"_index":62,"t":{"221":{"position":[[64,8]]}}}],["ai",{"_index":6,"t":{"16":{"position":[[38,2]]}}}],["alert",{"_index":54,"t":{"193":{"position":[[29,5]]}}}],["ambiguity",{"_index":5,"t":{"16":{"position":[[11,9]]}}}],["analytics",{"_index":50,"t":{"184":{"position":[[26,9]]}}}],["api",{"_index":43,"t":{"157":{"position":[[0,3]]}}}],["applications",{"_index":23,"t":{"44":{"position":[[51,12]]},"73":{"position":[[9,12]]},"125":{"position":[[7,12]]},"172":{"position":[[29,12]]}}}],["asynchronous",{"_index":29,"t":{"79":{"position":[[0,12]]}}}],["balanced",{"_index":61,"t":{"221":{"position":[[55,8]]}}}],["best",{"_index":0,"t":{"1":{"position":[[0,4],[19,4]]}}}],["binomial",{"_index":58,"t":{"221":{"position":[[15,8]]}}}],["building",{"_index":8,"t":{"22":{"position":[[0,8]]},"44":{"position":[[20,8]]},"73":{"position":[[0,8]]}}}],["camera",{"_index":22,"t":{"44":{"position":[[44,6]]}}}],["code",{"_index":74,"t":{"352":{"position":[[3,4]]}}}],["computer",{"_index":10,"t":{"22":{"position":[[20,8]]},"62":{"position":[[20,8]]}}}],["confidence",{"_index":37,"t":{"123":{"position":[[0,10]]},"221":{"position":[[30,10]]}}}],["couch",{"_index":65,"t":{"251":{"position":[[22,5]]}}}],["deployment",{"_index":76,"t":{"352":{"position":[[12,10]]}}}],["detector",{"_index":66,"t":{"251":{"position":[[28,8]]}}}],["detectors",{"_index":7,"t":{"16":{"position":[[41,9]]},"135":{"position":[[13,9]]}}}],["dog",{"_index":64,"t":{"251":{"position":[[15,3]]}}}],["easier",{"_index":13,"t":{"22":{"position":[[51,6]]}}}],["edge",{"_index":32,"t":{"87":{"position":[[25,4]]}}}],["errors",{"_index":36,"t":{"105":{"position":[[16,6]]}}}],["example",{"_index":48,"t":{"184":{"position":[[10,8]]},"193":{"position":[[8,8]]},"251":{"position":[[6,8]]}}}],["first",{"_index":9,"t":{"22":{"position":[[14,5]]}}}],["framegrab",{"_index":16,"t":{"32":{"position":[[26,9]]}}}],["fun",{"_index":63,"t":{"251":{"position":[[2,3]]}}}],["getting",{"_index":41,"t":{"148":{"position":[[0,7]]}}}],["grabbing",{"_index":33,"t":{"93":{"position":[[0,8]]}}}],["grime",{"_index":18,"t":{"44":{"position":[[4,5]]}}}],["groundlight",{"_index":3,"t":{"1":{"position":[[37,11]]},"16":{"position":[[26,11]]},"44":{"position":[[69,11]]},"87":{"position":[[6,11]]}}}],["groundlight's",{"_index":15,"t":{"32":{"position":[[12,13]]}}}],["guardian",{"_index":19,"t":{"44":{"position":[[10,9]]}}}],["handling",{"_index":34,"t":{"105":{"position":[[0,8]]}}}],["images",{"_index":26,"t":{"62":{"position":[[9,6]]},"93":{"position":[[9,6]]}}}],["industrial",{"_index":45,"t":{"172":{"position":[[0,10]]}}}],["installation",{"_index":55,"t":{"201":{"position":[[0,12]]}}}],["installing",{"_index":67,"t":{"259":{"position":[[0,10]]},"279":{"position":[[0,10]]},"297":{"position":[[0,10]]},"320":{"position":[[0,10]]},"334":{"position":[[0,10]]}}}],["intervals",{"_index":60,"t":{"221":{"position":[[41,9]]}}}],["introducing",{"_index":14,"t":{"32":{"position":[[0,11]]}}}],["iot",{"_index":75,"t":{"352":{"position":[[8,3]]}}}],["jetson",{"_index":70,"t":{"297":{"position":[[21,6]]}}}],["levels",{"_index":38,"t":{"123":{"position":[[11,6]]}}}],["libraries",{"_index":72,"t":{"311":{"position":[[9,9]]}}}],["library",{"_index":17,"t":{"32":{"position":[[36,7]]}}}],["linux",{"_index":24,"t":{"62":{"position":[[0,5]]},"259":{"position":[[14,5]]}}}],["live",{"_index":52,"t":{"193":{"position":[[17,4]]}}}],["macos",{"_index":68,"t":{"279":{"position":[[14,5]]}}}],["manufacturing",{"_index":46,"t":{"172":{"position":[[15,13]]}}}],["model",{"_index":12,"t":{"22":{"position":[[36,5]]}}}],["monitoring",{"_index":77,"t":{"362":{"position":[[0,10]]}}}],["multi",{"_index":21,"t":{"44":{"position":[[38,5]]}}}],["navigating",{"_index":4,"t":{"16":{"position":[[0,10]]}}}],["notification",{"_index":78,"t":{"362":{"position":[[11,12]]}}}],["nvidia",{"_index":69,"t":{"297":{"position":[[14,6]]}}}],["optional",{"_index":71,"t":{"311":{"position":[[0,8]]}}}],["os",{"_index":25,"t":{"62":{"position":[[6,2]]}}}],["pi",{"_index":28,"t":{"62":{"position":[[49,2]]},"320":{"position":[[24,2]]}}}],["practices",{"_index":1,"t":{"1":{"position":[[5,9]]}}}],["queries",{"_index":30,"t":{"79":{"position":[[13,7]]},"205":{"position":[[8,7]]}}}],["quick",{"_index":51,"t":{"193":{"position":[[2,5]]}}}],["raspberry",{"_index":27,"t":{"62":{"position":[[39,9]]},"320":{"position":[[14,9]]}}}],["results",{"_index":2,"t":{"1":{"position":[[24,7]]}}}],["retail",{"_index":49,"t":{"184":{"position":[[19,6]]}}}],["sample",{"_index":39,"t":{"125":{"position":[[0,6]]}}}],["serious",{"_index":47,"t":{"184":{"position":[[2,7]]}}}],["server",{"_index":35,"t":{"105":{"position":[[9,6]]},"362":{"position":[[24,6]]}}}],["started",{"_index":42,"t":{"148":{"position":[[8,7]]}}}],["stateful",{"_index":20,"t":{"44":{"position":[[29,8]]}}}],["stream",{"_index":53,"t":{"193":{"position":[[22,6]]}}}],["tail",{"_index":59,"t":{"221":{"position":[[24,5]]}}}],["tales",{"_index":57,"t":{"221":{"position":[[0,5]]}}}],["tokens",{"_index":44,"t":{"157":{"position":[[4,6]]}}}],["using",{"_index":31,"t":{"87":{"position":[[0,5]]}}}],["vision",{"_index":11,"t":{"22":{"position":[[29,6]]},"62":{"position":[[29,6]]}}}],["windows",{"_index":73,"t":{"334":{"position":[[14,7]]}}}],["working",{"_index":40,"t":{"135":{"position":[[0,7]]}}}],["writing",{"_index":56,"t":{"205":{"position":[[0,7]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":3,"t":"Phrase the question right","u":"/python-sdk/blog/best-practices","h":"#phrase-the-question-right","p":1},{"i":5,"t":"Put details in the notes","u":"/python-sdk/blog/best-practices","h":"#put-details-in-the-notes","p":1},{"i":7,"t":"Think of edge cases","u":"/python-sdk/blog/best-practices","h":"#think-of-edge-cases","p":1},{"i":9,"t":"Seed with a few examples","u":"/python-sdk/blog/best-practices","h":"#seed-with-a-few-examples","p":1},{"i":11,"t":"Only you know the truth","u":"/python-sdk/blog/best-practices","h":"#only-you-know-the-truth","p":1},{"i":13,"t":"Ready to start?","u":"/python-sdk/blog/best-practices","h":"#ready-to-start","p":1},{"i":18,"t":"Exploring the Gray Areas: Real-World Examples","u":"/python-sdk/blog/dealing-with-unclear-images","h":"#exploring-the-gray-areas-real-world-examples","p":16},{"i":20,"t":"Strategies for Navigating Ambiguity","u":"/python-sdk/blog/dealing-with-unclear-images","h":"#strategies-for-navigating-ambiguity","p":16},{"i":24,"t":"What is Groundlight?","u":"/python-sdk/blog/getting-started","h":"#what-is-groundlight","p":22},{"i":26,"t":"What's Inside?","u":"/python-sdk/blog/getting-started","h":"#whats-inside","p":22},{"i":28,"t":"How do I get started?","u":"/python-sdk/blog/getting-started","h":"#how-do-i-get-started","p":22},{"i":30,"t":"We're Here to Help!","u":"/python-sdk/blog/getting-started","h":"#were-here-to-help","p":22},{"i":34,"t":"Grabbing Camera Frames","u":"/python-sdk/blog/introducing-framegrab","h":"#grabbing-camera-frames","p":32},{"i":36,"t":"Multi-cam Configuration","u":"/python-sdk/blog/introducing-framegrab","h":"#multi-cam-configuration","p":32},{"i":38,"t":"FrameGrab Autodiscovery Mode","u":"/python-sdk/blog/introducing-framegrab","h":"#framegrab-autodiscovery-mode","p":32},{"i":40,"t":"Using FrameGrab for Motion Detection","u":"/python-sdk/blog/introducing-framegrab","h":"#using-framegrab-for-motion-detection","p":32},{"i":42,"t":"Conclusion","u":"/python-sdk/blog/introducing-framegrab","h":"#conclusion","p":32},{"i":46,"t":"Groundlight has a Problem","u":"/python-sdk/blog/grime-guardian","h":"#groundlight-has-a-problem","p":44},{"i":48,"t":"Overview of the Application - The Grime Guardian","u":"/python-sdk/blog/grime-guardian","h":"#overview-of-the-application---the-grime-guardian","p":44},{"i":50,"t":"Architecture of a Sophisticated Groundlight Application","u":"/python-sdk/blog/grime-guardian","h":"#architecture-of-a-sophisticated-groundlight-application","p":44},{"i":52,"t":"Microservice-like Architecture","u":"/python-sdk/blog/grime-guardian","h":"#microservice-like-architecture","p":44},{"i":54,"t":"State Management and Notification Logic","u":"/python-sdk/blog/grime-guardian","h":"#state-management-and-notification-logic","p":44},{"i":56,"t":"Discord Bot Notifications","u":"/python-sdk/blog/grime-guardian","h":"#discord-bot-notifications","p":44},{"i":58,"t":"Future Improvements and Enhancements","u":"/python-sdk/blog/grime-guardian","h":"#future-improvements-and-enhancements","p":44},{"i":60,"t":"Build Your Own Grime Guardian","u":"/python-sdk/blog/grime-guardian","h":"#build-your-own-grime-guardian","p":44},{"i":64,"t":"Raspberry Pi OS Images pre-built with Computer Vision Software","u":"/python-sdk/blog/raspberry-pi-computer-vision","h":"#raspberry-pi-os-images-pre-built-with-computer-vision-software","p":62},{"i":66,"t":"Flashing the OS Image onto a microSD Card","u":"/python-sdk/blog/raspberry-pi-computer-vision","h":"#flashing-the-os-image-onto-a-microsd-card","p":62},{"i":68,"t":"No-code machine vision with Monitoring Notification Server (MNS)","u":"/python-sdk/blog/raspberry-pi-computer-vision","h":"#no-code-machine-vision-with-monitoring-notification-server-mns","p":62},{"i":70,"t":"Get Started for Free","u":"/python-sdk/blog/raspberry-pi-computer-vision","h":"#get-started-for-free","p":62},{"i":75,"t":"Sample Applications","u":"/python-sdk/docs/building-applications","h":"#sample-applications","p":73},{"i":77,"t":"Further Reading","u":"/python-sdk/docs/building-applications","h":"#further-reading","p":73},{"i":81,"t":"Setup Submitting Machine","u":"/python-sdk/docs/building-applications/async-queries","h":"#setup-submitting-machine","p":79},{"i":83,"t":"Setup Retrieving Machine","u":"/python-sdk/docs/building-applications/async-queries","h":"#setup-retrieving-machine","p":79},{"i":85,"t":"Important Considerations","u":"/python-sdk/docs/building-applications/async-queries","h":"#important-considerations","p":79},{"i":89,"t":"How the Edge Endpoint works","u":"/python-sdk/docs/building-applications/edge","h":"#how-the-edge-endpoint-works","p":87},{"i":91,"t":"Configuring the Edge Endpoint","u":"/python-sdk/docs/building-applications/edge","h":"#configuring-the-edge-endpoint","p":87},{"i":95,"t":"PIL","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#pil","p":93},{"i":97,"t":"OpenCV","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#opencv","p":93},{"i":99,"t":"Numpy","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#numpy","p":93},{"i":101,"t":"Channel order: BGR vs RGB","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#channel-order-bgr-vs-rgb","p":93},{"i":103,"t":"Framegrab","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#framegrab","p":93},{"i":107,"t":"Handling ApiException","u":"/python-sdk/docs/building-applications/handling-errors","h":"#handling-apiexception","p":105},{"i":109,"t":"Best Practices for Handling Exceptions","u":"/python-sdk/docs/building-applications/handling-errors","h":"#best-practices-for-handling-exceptions","p":105},{"i":111,"t":"Catch Specific Exceptions","u":"/python-sdk/docs/building-applications/handling-errors","h":"#catch-specific-exceptions","p":105},{"i":113,"t":"Use Custom Exception Classes","u":"/python-sdk/docs/building-applications/handling-errors","h":"#use-custom-exception-classes","p":105},{"i":115,"t":"Log Exceptions","u":"/python-sdk/docs/building-applications/handling-errors","h":"#log-exceptions","p":105},{"i":117,"t":"Implement Retry Logic","u":"/python-sdk/docs/building-applications/handling-errors","h":"#implement-retry-logic","p":105},{"i":119,"t":"Handle Exceptions Gracefully","u":"/python-sdk/docs/building-applications/handling-errors","h":"#handle-exceptions-gracefully","p":105},{"i":121,"t":"Test Your Error Handling","u":"/python-sdk/docs/building-applications/handling-errors","h":"#test-your-error-handling","p":105},{"i":127,"t":"Groundlight Stream Processor","u":"/python-sdk/docs/building-applications/sample-applications","h":"#groundlight-stream-processor","p":125},{"i":129,"t":"Arduino ESP32 Camera Sample App","u":"/python-sdk/docs/building-applications/sample-applications","h":"#arduino-esp32-camera-sample-app","p":125},{"i":131,"t":"Raspberry Pi","u":"/python-sdk/docs/building-applications/sample-applications","h":"#raspberry-pi","p":125},{"i":133,"t":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/building-applications/sample-applications","h":"#industrial-and-manufacturing-applications","p":125},{"i":136,"t":"Explicitly create a new detector","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#explicitly-create-a-new-detector","p":135},{"i":138,"t":"Retrieve an existing detector","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#retrieve-an-existing-detector","p":135},{"i":140,"t":"List your detectors","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#list-your-detectors","p":135},{"i":142,"t":"Retrieve an image query","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#retrieve-an-image-query","p":135},{"i":144,"t":"List your previous image queries","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#list-your-previous-image-queries","p":135},{"i":146,"t":"Adding labels to existing image queries","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#adding-labels-to-existing-image-queries","p":135},{"i":149,"t":"Computer Vision powered by Natural Language","u":"/python-sdk/docs/getting-started","h":"#computer-vision-powered-by-natural-language","p":148},{"i":151,"t":"How does it work?","u":"/python-sdk/docs/getting-started","h":"#how-does-it-work","p":148},{"i":153,"t":"Escalation Technology","u":"/python-sdk/docs/getting-started","h":"#escalation-technology","p":148},{"i":155,"t":"Building a simple visual application","u":"/python-sdk/docs/getting-started","h":"#building-a-simple-visual-application","p":148},{"i":158,"t":"About API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#about-api-tokens","p":157},{"i":160,"t":"Handling API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#handling-api-tokens","p":157},{"i":162,"t":"Using API Tokens with the SDK","u":"/python-sdk/docs/getting-started/api-tokens","h":"#using-api-tokens-with-the-sdk","p":157},{"i":164,"t":"Creating and Revoking API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#creating-and-revoking-api-tokens","p":157},{"i":166,"t":"Creating API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#creating-api-tokens","p":157},{"i":168,"t":"Viewing and Revoking API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#viewing-and-revoking-api-tokens","p":157},{"i":170,"t":"To revoke an API token","u":"/python-sdk/docs/getting-started/api-tokens","h":"#to-revoke-an-api-token","p":157},{"i":174,"t":"Machine Tending","u":"/python-sdk/docs/building-applications/industrial","h":"#machine-tending","p":172},{"i":176,"t":"Process Automation","u":"/python-sdk/docs/building-applications/industrial","h":"#process-automation","p":172},{"i":178,"t":"Quality Control","u":"/python-sdk/docs/building-applications/industrial","h":"#quality-control","p":172},{"i":180,"t":"Integration with Cobots and CNC Machines","u":"/python-sdk/docs/building-applications/industrial","h":"#integration-with-cobots-and-cnc-machines","p":172},{"i":182,"t":"Contact Sales","u":"/python-sdk/docs/building-applications/industrial","h":"","p":172},{"i":185,"t":"Tracking utilization of a customer service counter","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#tracking-utilization-of-a-customer-service-counter","p":184},{"i":187,"t":"Requirements","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#requirements","p":184},{"i":189,"t":"Installation","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#installation","p":184},{"i":191,"t":"Creating the Application","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#creating-the-application","p":184},{"i":195,"t":"Requirements","u":"/python-sdk/docs/getting-started/streaming","h":"#requirements","p":193},{"i":197,"t":"Installation","u":"/python-sdk/docs/getting-started/streaming","h":"#installation","p":193},{"i":199,"t":"Creating the Application","u":"/python-sdk/docs/getting-started/streaming","h":"#creating-the-application","p":193},{"i":203,"t":"Platform-specific Installation Guides","u":"/python-sdk/docs/installation","h":"#platform-specific-installation-guides","p":201},{"i":206,"t":"Introduction","u":"/python-sdk/docs/getting-started/writing-queries","h":"#introduction","p":205},{"i":208,"t":"Examples","u":"/python-sdk/docs/getting-started/writing-queries","h":"#examples","p":205},{"i":209,"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":205},{"i":211,"t":"🟡 Is the trash can full?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-trash-can-full","p":205},{"i":213,"t":"✅ Is the garage door completely closed?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-garage-door-completely-closed","p":205},{"i":215,"t":"🟡 Is the weather nice out?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-weather-nice-out","p":205},{"i":217,"t":"❌ Where is the thing?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-where-is-the-thing","p":205},{"i":219,"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":205},{"i":223,"t":"Background","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#background","p":221},{"i":225,"t":"Test Set Accuracy and Coin Flips","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#test-set-accuracy-and-coin-flips","p":221},{"i":227,"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":221},{"i":229,"t":"Constructing a 95% Upper Confidence Bound","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#constructing-a-95-upper-confidence-bound","p":221},{"i":231,"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":221},{"i":233,"t":"Lower Confidence Bounds","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#lower-confidence-bounds","p":221},{"i":235,"t":"Central Confidence Intervals","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#central-confidence-intervals","p":221},{"i":237,"t":"Confidence Bounds for Balanced Accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#confidence-bounds-for-balanced-accuracy","p":221},{"i":239,"t":"Constructing the Bound for Balanced Accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#constructing-the-bound-for-balanced-accuracy","p":221},{"i":241,"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":221},{"i":243,"t":"Conclusion","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#conclusion","p":221},{"i":245,"t":"References","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#references","p":221},{"i":247,"t":"Appendix A - the union bound","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#appendix-a---the-union-bound","p":221},{"i":249,"t":"Appendix B - interpretation of confidence intervals","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#appendix-b---interpretation-of-confidence-intervals","p":221},{"i":253,"t":"Requirements","u":"/python-sdk/docs/getting-started/dog-on-couch","h":"#requirements","p":251},{"i":255,"t":"Installation","u":"/python-sdk/docs/getting-started/dog-on-couch","h":"#installation","p":251},{"i":257,"t":"Creating the Application","u":"/python-sdk/docs/getting-started/dog-on-couch","h":"#creating-the-application","p":251},{"i":261,"t":"Prerequisites","u":"/python-sdk/docs/installation/linux","h":"#prerequisites","p":259},{"i":263,"t":"Basic Installation","u":"/python-sdk/docs/installation/linux","h":"#basic-installation","p":259},{"i":265,"t":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/linux","h":"#installing-groundlight-sdk","p":259},{"i":267,"t":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/linux","h":"#checking-groundlight-sdk-version","p":259},{"i":269,"t":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/linux","h":"#upgrading-groundlight-sdk","p":259},{"i":271,"t":"Getting the right Python Version","u":"/python-sdk/docs/installation/linux","h":"#getting-the-right-python-version","p":259},{"i":273,"t":"Upgrading Python on Linux","u":"/python-sdk/docs/installation/linux","h":"#upgrading-python-on-linux","p":259},{"i":275,"t":"Special note about Ubuntu 18.04","u":"/python-sdk/docs/installation/linux","h":"#special-note-about-ubuntu-1804","p":259},{"i":277,"t":"Ready to go!","u":"/python-sdk/docs/installation/linux","h":"#ready-to-go","p":259},{"i":281,"t":"Prerequisites","u":"/python-sdk/docs/installation/macos","h":"#prerequisites","p":279},{"i":283,"t":"Basic Installation","u":"/python-sdk/docs/installation/macos","h":"#basic-installation","p":279},{"i":285,"t":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/macos","h":"#installing-groundlight-sdk","p":279},{"i":287,"t":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/macos","h":"#checking-groundlight-sdk-version","p":279},{"i":289,"t":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/macos","h":"#upgrading-groundlight-sdk","p":279},{"i":291,"t":"Getting the right Python Version","u":"/python-sdk/docs/installation/macos","h":"#getting-the-right-python-version","p":279},{"i":293,"t":"Upgrading Python on MacOS","u":"/python-sdk/docs/installation/macos","h":"#upgrading-python-on-macos","p":279},{"i":295,"t":"Ready to go!","u":"/python-sdk/docs/installation/macos","h":"#ready-to-go","p":279},{"i":299,"t":"Prerequisites","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#prerequisites","p":297},{"i":301,"t":"Basic Installation","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#basic-installation","p":297},{"i":303,"t":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#installing-groundlight-sdk","p":297},{"i":305,"t":"Using RTSP Streams","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#using-rtsp-streams","p":297},{"i":307,"t":"Sample application","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#sample-application","p":297},{"i":309,"t":"Ready to go!","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#ready-to-go","p":297},{"i":312,"t":"Smaller is better!","u":"/python-sdk/docs/installation/optional-libraries","h":"#smaller-is-better","p":311},{"i":314,"t":"PIL - optional but default installed","u":"/python-sdk/docs/installation/optional-libraries","h":"#pil---optional-but-default-installed","p":311},{"i":316,"t":"Working without PIL","u":"/python-sdk/docs/installation/optional-libraries","h":"#working-without-pil","p":311},{"i":318,"t":"Numpy, OpenCV - fully optional","u":"/python-sdk/docs/installation/optional-libraries","h":"#numpy-opencv---fully-optional","p":311},{"i":322,"t":"Prerequisites","u":"/python-sdk/docs/installation/raspberry-pi","h":"#prerequisites","p":320},{"i":324,"t":"Basic Installation","u":"/python-sdk/docs/installation/raspberry-pi","h":"#basic-installation","p":320},{"i":326,"t":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/raspberry-pi","h":"#installing-groundlight-sdk","p":320},{"i":328,"t":"Using RTSP Streams","u":"/python-sdk/docs/installation/raspberry-pi","h":"#using-rtsp-streams","p":320},{"i":330,"t":"Sample application","u":"/python-sdk/docs/installation/raspberry-pi","h":"#sample-application","p":320},{"i":332,"t":"Ready to go!","u":"/python-sdk/docs/installation/raspberry-pi","h":"#ready-to-go","p":320},{"i":336,"t":"Prerequisites","u":"/python-sdk/docs/installation/windows","h":"#prerequisites","p":334},{"i":338,"t":"Basic Installation","u":"/python-sdk/docs/installation/windows","h":"#basic-installation","p":334},{"i":340,"t":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/windows","h":"#installing-groundlight-sdk","p":334},{"i":342,"t":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/windows","h":"#checking-groundlight-sdk-version","p":334},{"i":344,"t":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/windows","h":"#upgrading-groundlight-sdk","p":334},{"i":346,"t":"Getting the right Python Version","u":"/python-sdk/docs/installation/windows","h":"#getting-the-right-python-version","p":334},{"i":348,"t":"Upgrading Python on Windows","u":"/python-sdk/docs/installation/windows","h":"#upgrading-python-on-windows","p":334},{"i":350,"t":"Ready to go!","u":"/python-sdk/docs/installation/windows","h":"#ready-to-go","p":334},{"i":354,"t":"Easy Deployment","u":"/python-sdk/docs/iot","h":"#easy-deployment","p":352},{"i":356,"t":"Notification Options","u":"/python-sdk/docs/iot","h":"#notification-options","p":352},{"i":358,"t":"Multiple Supported Boards","u":"/python-sdk/docs/iot","h":"#multiple-supported-boards","p":352},{"i":360,"t":"Source Code","u":"/python-sdk/docs/iot","h":"#source-code","p":352},{"i":364,"t":"Prerequisites","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#prerequisites","p":362},{"i":366,"t":"Using the Application","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#using-the-application","p":362},{"i":368,"t":"MNS Home Page","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#mns-home-page","p":362},{"i":369,"t":"Detector Dashboard","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#detector-dashboard","p":362},{"i":370,"t":"Running the server","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-the-server","p":362},{"i":372,"t":"Running with Docker Compose","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-with-docker-compose","p":362},{"i":374,"t":"Running from Docker Compose on 32-bit ARM (armv7)","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-from-docker-compose-on-32-bit-arm-armv7","p":362},{"i":376,"t":"Running with AWS Greengrass","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-with-aws-greengrass","p":362},{"i":378,"t":"Running with Kubernetes","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-with-kubernetes","p":362},{"i":380,"t":"Building from Source","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#building-from-source","p":362}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/3",[0,4.63,1,4.63,2,3.547]],["t/5",[3,4.63,4,4.63,5,4.63]],["t/7",[6,4.63,7,3.795,8,4.63]],["t/9",[9,4.63,10,4.63,11,3.795]],["t/11",[12,5.378,13,5.378]],["t/13",[14,3.698,15,5.378]],["t/18",[11,2.678,16,3.267,17,3.267,18,3.267,19,3.267,20,3.267]],["t/20",[21,4.63,22,4.63,23,4.63]],["t/24",[24,3.223]],["t/26",[25,5.378,26,5.378]],["t/28",[27,5.716]],["t/30",[28,4.63,29,4.63,30,4.63]],["t/34",[31,4.63,32,4.126,33,4.63]],["t/36",[34,4.63,35,4.63,36,4.63]],["t/38",[37,3.795,38,4.63,39,4.63]],["t/40",[37,3.331,40,2.94,41,4.065,42,4.065]],["t/42",[43,5.716]],["t/46",[24,2.703,44,5.378]],["t/48",[45,4.065,46,2.467,47,3.623,48,3.623]],["t/50",[24,2.043,46,2.467,49,3.623,50,4.065]],["t/52",[49,4.793,51,5.378]],["t/54",[52,4.065,53,4.065,54,3.331,55,3.623]],["t/56",[56,4.63,57,4.63,58,4.63]],["t/58",[59,4.63,60,4.63,61,4.63]],["t/60",[47,4.126,48,4.126,62,4.63]],["t/64",[63,2.25,64,2.25,65,2.25,66,2.524,67,2.524,68,2.524,69,2.25,70,2.069,71,2.524]],["t/66",[65,2.912,72,3.267,73,2.503,74,3.267,75,3.267,76,3.267]],["t/68",[54,2.438,70,2.438,77,2.652,78,2.279,79,2.975,80,2.652,81,2.652]],["t/70",[27,4.793,82,5.378]],["t/75",[83,4.12,84,4.793]],["t/77",[85,5.378,86,5.378]],["t/81",[78,3.547,87,4.126,88,4.63]],["t/83",[78,3.547,87,4.126,89,4.63]],["t/85",[90,5.378,91,5.378]],["t/89",[7,3.795,92,4.126,93,4.63]],["t/91",[7,3.795,92,4.126,94,4.63]],["t/95",[95,5.256]],["t/97",[96,5.716]],["t/99",[97,5.716]],["t/101",[98,3.623,99,3.623,100,3.623,101,3.623,102,3.623]],["t/103",[37,5.256]],["t/107",[103,4.12,104,5.378]],["t/109",[103,3.114,105,4.065,106,4.065,107,3.114]],["t/111",[107,3.547,108,4.63,109,4.126]],["t/113",[110,4.065,111,4.065,112,4.065,113,4.065]],["t/115",[107,4.12,114,5.378]],["t/117",[55,4.126,115,4.63,116,4.63]],["t/119",[107,3.547,117,4.63,118,4.63]],["t/121",[103,3.547,119,3.795,120,4.63]],["t/127",[24,2.327,121,4.63,122,4.63]],["t/129",[32,3.229,83,2.775,123,3.623,124,3.623,125,3.623]],["t/131",[63,4.793,64,4.793]],["t/133",[84,4.126,126,4.63,127,4.63]],["t/136",[128,4.065,129,4.065,130,4.065,131,3.331]],["t/138",[131,3.795,132,4.126,133,4.126]],["t/140",[134,4.793,135,5.378]],["t/142",[73,3.547,132,4.126,136,4.63]],["t/144",[73,3.114,134,3.623,137,4.065,138,3.623]],["t/146",[73,2.775,133,3.229,138,3.229,139,3.623,140,3.623]],["t/149",[69,3.229,70,2.969,141,3.623,142,3.623,143,3.623]],["t/151",[144,6.414]],["t/153",[145,5.378,146,5.378]],["t/155",[46,2.467,147,3.623,148,4.065,149,4.065]],["t/158",[150,3.534,151,3.698]],["t/160",[103,3.547,150,3.043,151,3.184]],["t/162",[40,2.94,150,2.671,151,2.795,152,2.229]],["t/164",[150,2.671,151,2.795,153,2.94,154,3.623]],["t/166",[150,3.043,151,3.184,153,3.349]],["t/168",[150,2.671,151,2.795,154,3.623,155,4.065]],["t/170",[150,3.043,156,4.63,157,4.63]],["t/174",[78,4.12,158,5.378]],["t/176",[159,5.378,160,5.378]],["t/178",[161,5.378,162,5.378]],["t/180",[163,4.065,164,4.065,165,4.065,166,4.065]],["t/182",[167,5.378,168,5.378]],["t/185",[169,3.623,170,3.623,171,3.623,172,3.623,173,3.623]],["t/187",[174,5.256]],["t/189",[175,3.892]],["t/191",[46,3.263,153,3.89]],["t/195",[174,5.256]],["t/197",[175,3.892]],["t/199",[46,3.263,153,3.89]],["t/203",[109,3.623,175,2.467,176,4.065,177,4.065]],["t/206",[178,6.414]],["t/208",[11,5.256]],["t/209",[179,2.491,180,3.623,181,3.623,182,3.623,183,3.623]],["t/211",[179,3.184,184,4.63,185,4.63]],["t/213",[179,2.491,186,3.623,187,3.623,188,3.623,189,3.623]],["t/215",[179,2.795,190,4.065,191,4.065,192,4.065]],["t/217",[179,3.698,193,5.378]],["t/219",[179,2.491,194,3.623,195,3.623,196,3.623,197,3.623]],["t/223",[198,6.414]],["t/225",[119,2.969,199,3.229,200,2.775,201,3.623,202,3.623]],["t/227",[119,2.438,199,2.652,200,2.279,203,2.438,204,2.975,205,2.975,206,2.975]],["t/229",[203,2.969,207,3.229,208,3.623,209,2.491,210,2.969]],["t/231",[203,2.438,209,2.046,211,2.975,212,2.438,213,2.652,214,2.975,215,2.975]],["t/233",[209,3.184,212,3.795,216,4.63]],["t/235",[209,3.184,217,4.63,218,3.795]],["t/237",[200,3.114,209,2.795,212,3.331,219,3.623]],["t/239",[200,3.114,207,3.623,210,3.331,219,3.623]],["t/241",[213,3.229,218,2.969,220,3.623,221,3.623,222,3.623]],["t/243",[43,5.716]],["t/245",[223,6.414]],["t/247",[210,3.795,224,4.126,225,4.63]],["t/249",[209,2.491,218,2.969,224,3.229,226,3.623,227,3.623]],["t/253",[174,5.256]],["t/255",[175,3.892]],["t/257",[46,3.263,153,3.89]],["t/261",[228,4.411]],["t/263",[175,3.263,229,3.89]],["t/265",[24,2.327,152,2.539,230,3.349]],["t/267",[24,2.043,152,2.229,231,3.331,232,2.795]],["t/269",[24,2.327,152,2.539,233,3.184]],["t/271",[2,3.114,232,2.795,234,3.331,235,2.795]],["t/273",[233,3.184,235,3.184,236,4.63]],["t/275",[237,4.065,238,4.065,239,4.065,240,4.065]],["t/277",[14,3.698,241,3.89]],["t/281",[228,4.411]],["t/283",[175,3.263,229,3.89]],["t/285",[24,2.327,152,2.539,230,3.349]],["t/287",[24,2.043,152,2.229,231,3.331,232,2.795]],["t/289",[24,2.327,152,2.539,233,3.184]],["t/291",[2,3.114,232,2.795,234,3.331,235,2.795]],["t/293",[233,3.184,235,3.184,242,4.63]],["t/295",[14,3.698,241,3.89]],["t/299",[228,4.411]],["t/301",[175,3.263,229,3.89]],["t/303",[24,2.327,152,2.539,230,3.349]],["t/305",[40,3.349,243,4.126,244,4.126]],["t/307",[46,3.263,83,4.12]],["t/309",[14,3.698,241,3.89]],["t/312",[245,5.378,246,5.378]],["t/314",[95,3.331,247,3.623,248,4.065,249,4.065]],["t/316",[95,3.795,250,4.63,251,4.63]],["t/318",[96,3.623,97,3.623,247,3.623,252,4.065]],["t/322",[228,4.411]],["t/324",[175,3.263,229,3.89]],["t/326",[24,2.327,152,2.539,230,3.349]],["t/328",[40,3.349,243,4.126,244,4.126]],["t/330",[46,3.263,83,4.12]],["t/332",[14,3.698,241,3.89]],["t/336",[228,4.411]],["t/338",[175,3.263,229,3.89]],["t/340",[24,2.327,152,2.539,230,3.349]],["t/342",[24,2.043,152,2.229,231,3.331,232,2.795]],["t/344",[24,2.327,152,2.539,233,3.184]],["t/346",[2,3.114,232,2.795,234,3.331,235,2.795]],["t/348",[233,3.184,235,3.184,253,4.63]],["t/350",[14,3.698,241,3.89]],["t/354",[254,5.378,255,5.378]],["t/356",[54,4.407,256,5.378]],["t/358",[257,4.63,258,4.63,259,4.63]],["t/360",[77,4.793,260,4.793]],["t/364",[228,4.411]],["t/366",[40,3.89,46,3.263]],["t/368",[81,4.126,261,4.63,262,4.63]],["t/369",[131,4.407,263,5.378]],["t/370",[80,4.793,264,3.89]],["t/372",[264,3.349,265,4.126,266,4.126]],["t/374",[264,2.152,265,2.652,266,2.652,267,2.975,268,2.975,269,2.975,270,2.975]],["t/376",[264,3.349,271,4.63,272,4.63]],["t/378",[264,3.89,273,5.378]],["t/380",[147,4.793,260,4.793]]],"invertedIndex":[["",{"_index":179,"t":{"209":{"position":[[0,1]]},"211":{"position":[[0,2]]},"213":{"position":[[0,1]]},"215":{"position":[[0,2]]},"217":{"position":[[0,1]]},"219":{"position":[[0,2]]}}}],["18.04",{"_index":240,"t":{"275":{"position":[[26,5]]}}}],["32",{"_index":267,"t":{"374":{"position":[[31,2]]}}}],["95",{"_index":208,"t":{"229":{"position":[[15,3]]}}}],["accuracy",{"_index":200,"t":{"225":{"position":[[9,8]]},"227":{"position":[[24,8]]},"237":{"position":[[31,8]]},"239":{"position":[[36,8]]}}}],["adding",{"_index":139,"t":{"146":{"position":[[0,6]]}}}],["ambiguity",{"_index":23,"t":{"20":{"position":[[26,9]]}}}],["api",{"_index":150,"t":{"158":{"position":[[6,3]]},"160":{"position":[[9,3]]},"162":{"position":[[6,3]]},"164":{"position":[[22,3]]},"166":{"position":[[9,3]]},"168":{"position":[[21,3]]},"170":{"position":[[13,3]]}}}],["apiexception",{"_index":104,"t":{"107":{"position":[[9,12]]}}}],["app",{"_index":125,"t":{"129":{"position":[[28,3]]}}}],["appendix",{"_index":224,"t":{"247":{"position":[[0,8]]},"249":{"position":[[0,8]]}}}],["application",{"_index":46,"t":{"48":{"position":[[16,11]]},"50":{"position":[[44,11]]},"155":{"position":[[25,11]]},"191":{"position":[[13,11]]},"199":{"position":[[13,11]]},"257":{"position":[[13,11]]},"307":{"position":[[7,11]]},"330":{"position":[[7,11]]},"366":{"position":[[10,11]]}}}],["applications",{"_index":84,"t":{"75":{"position":[[7,12]]},"133":{"position":[[29,12]]}}}],["approximation",{"_index":222,"t":{"241":{"position":[[46,13]]}}}],["architecture",{"_index":49,"t":{"50":{"position":[[0,12]]},"52":{"position":[[18,12]]}}}],["arduino",{"_index":123,"t":{"129":{"position":[[0,7]]}}}],["areas",{"_index":18,"t":{"18":{"position":[[19,6]]}}}],["arm",{"_index":269,"t":{"374":{"position":[[38,3]]}}}],["armv7",{"_index":270,"t":{"374":{"position":[[42,7]]}}}],["autodiscovery",{"_index":38,"t":{"38":{"position":[[10,13]]}}}],["automation",{"_index":160,"t":{"176":{"position":[[8,10]]}}}],["aws",{"_index":271,"t":{"376":{"position":[[13,3]]}}}],["b",{"_index":226,"t":{"249":{"position":[[9,1]]}}}],["background",{"_index":198,"t":{"223":{"position":[[0,10]]}}}],["balanced",{"_index":219,"t":{"237":{"position":[[22,8]]},"239":{"position":[[27,8]]}}}],["based",{"_index":213,"t":{"231":{"position":[[30,5]]},"241":{"position":[[26,5]]}}}],["basic",{"_index":229,"t":{"263":{"position":[[0,5]]},"283":{"position":[[0,5]]},"301":{"position":[[0,5]]},"324":{"position":[[0,5]]},"338":{"position":[[0,5]]}}}],["belt",{"_index":183,"t":{"209":{"position":[[48,5]]}}}],["best",{"_index":105,"t":{"109":{"position":[[0,4]]}}}],["better",{"_index":246,"t":{"312":{"position":[[11,7]]}}}],["bgr",{"_index":100,"t":{"101":{"position":[[15,3]]}}}],["binomial",{"_index":214,"t":{"231":{"position":[[43,8]]}}}],["bit",{"_index":268,"t":{"374":{"position":[[34,3]]}}}],["boards",{"_index":259,"t":{"358":{"position":[[19,6]]}}}],["bot",{"_index":57,"t":{"56":{"position":[[8,3]]}}}],["bound",{"_index":210,"t":{"229":{"position":[[36,5]]},"239":{"position":[[17,5]]},"247":{"position":[[23,5]]}}}],["bounding",{"_index":204,"t":{"227":{"position":[[6,8]]}}}],["bounds",{"_index":212,"t":{"231":{"position":[[23,6]]},"233":{"position":[[17,6]]},"237":{"position":[[11,6]]}}}],["boxes",{"_index":181,"t":{"209":{"position":[[26,5]]}}}],["build",{"_index":62,"t":{"60":{"position":[[0,5]]}}}],["building",{"_index":147,"t":{"155":{"position":[[0,8]]},"380":{"position":[[0,8]]}}}],["built",{"_index":68,"t":{"64":{"position":[[27,5]]}}}],["cam",{"_index":35,"t":{"36":{"position":[[6,3]]}}}],["camera",{"_index":32,"t":{"34":{"position":[[9,6]]},"129":{"position":[[14,6]]}}}],["card",{"_index":76,"t":{"66":{"position":[[37,4]]}}}],["cardboard",{"_index":180,"t":{"209":{"position":[[16,9]]}}}],["cases",{"_index":8,"t":{"7":{"position":[[14,5]]}}}],["catch",{"_index":108,"t":{"111":{"position":[[0,5]]}}}],["cdf",{"_index":215,"t":{"231":{"position":[[52,3]]}}}],["central",{"_index":217,"t":{"235":{"position":[[0,7]]}}}],["channel",{"_index":98,"t":{"101":{"position":[[0,7]]}}}],["checking",{"_index":231,"t":{"267":{"position":[[0,8]]},"287":{"position":[[0,8]]},"342":{"position":[[0,8]]}}}],["classes",{"_index":113,"t":{"113":{"position":[[21,7]]}}}],["clean",{"_index":196,"t":{"219":{"position":[[24,5]]}}}],["closed",{"_index":189,"t":{"213":{"position":[[32,7]]}}}],["cnc",{"_index":165,"t":{"180":{"position":[[28,3]]}}}],["cobots",{"_index":164,"t":{"180":{"position":[[17,6]]}}}],["code",{"_index":77,"t":{"68":{"position":[[3,4]]},"360":{"position":[[7,4]]}}}],["coin",{"_index":201,"t":{"225":{"position":[[22,4]]}}}],["comparison",{"_index":220,"t":{"241":{"position":[[0,10]]}}}],["completely",{"_index":188,"t":{"213":{"position":[[21,10]]}}}],["compose",{"_index":266,"t":{"372":{"position":[[20,7]]},"374":{"position":[[20,7]]}}}],["computer",{"_index":69,"t":{"64":{"position":[[38,8]]},"149":{"position":[[0,8]]}}}],["conclusion",{"_index":43,"t":{"42":{"position":[[0,10]]},"243":{"position":[[0,10]]}}}],["confidence",{"_index":209,"t":{"229":{"position":[[25,10]]},"231":{"position":[[12,10]]},"233":{"position":[[6,10]]},"235":{"position":[[8,10]]},"237":{"position":[[0,10]]},"249":{"position":[[31,10]]}}}],["configuration",{"_index":36,"t":{"36":{"position":[[10,13]]}}}],["configuring",{"_index":94,"t":{"91":{"position":[[0,11]]}}}],["considerations",{"_index":91,"t":{"85":{"position":[[10,14]]}}}],["constructing",{"_index":207,"t":{"229":{"position":[[0,12]]},"239":{"position":[[0,12]]}}}],["contact",{"_index":167,"t":{"182":{"position":[[0,7]]}}}],["control",{"_index":162,"t":{"178":{"position":[[8,7]]}}}],["conveyor",{"_index":182,"t":{"209":{"position":[[39,8]]}}}],["counter",{"_index":173,"t":{"185":{"position":[[43,7]]}}}],["create",{"_index":129,"t":{"136":{"position":[[11,6]]}}}],["creating",{"_index":153,"t":{"164":{"position":[[0,8]]},"166":{"position":[[0,8]]},"191":{"position":[[0,8]]},"199":{"position":[[0,8]]},"257":{"position":[[0,8]]}}}],["custom",{"_index":111,"t":{"113":{"position":[[4,6]]}}}],["customer",{"_index":171,"t":{"185":{"position":[[26,8]]}}}],["dashboard",{"_index":263,"t":{"369":{"position":[[9,9]]}}}],["default",{"_index":248,"t":{"314":{"position":[[19,7]]}}}],["deployment",{"_index":255,"t":{"354":{"position":[[5,10]]}}}],["details",{"_index":4,"t":{"5":{"position":[[4,7]]}}}],["detection",{"_index":42,"t":{"40":{"position":[[27,9]]}}}],["detector",{"_index":131,"t":{"136":{"position":[[24,8]]},"138":{"position":[[21,8]]},"369":{"position":[[0,8]]}}}],["detectors",{"_index":135,"t":{"140":{"position":[[10,9]]}}}],["discord",{"_index":56,"t":{"56":{"position":[[0,7]]}}}],["docker",{"_index":265,"t":{"372":{"position":[[13,6]]},"374":{"position":[[13,6]]}}}],["door",{"_index":187,"t":{"213":{"position":[[16,4]]}}}],["easy",{"_index":254,"t":{"354":{"position":[[0,4]]}}}],["edge",{"_index":7,"t":{"7":{"position":[[9,4]]},"89":{"position":[[8,4]]},"91":{"position":[[16,4]]}}}],["endpoint",{"_index":92,"t":{"89":{"position":[[13,8]]},"91":{"position":[[21,8]]}}}],["enhancements",{"_index":61,"t":{"58":{"position":[[24,12]]}}}],["error",{"_index":120,"t":{"121":{"position":[[10,5]]}}}],["escalation",{"_index":145,"t":{"153":{"position":[[0,10]]}}}],["esp32",{"_index":124,"t":{"129":{"position":[[8,5]]}}}],["exact",{"_index":211,"t":{"231":{"position":[[0,5]]}}}],["examples",{"_index":11,"t":{"9":{"position":[[16,8]]},"18":{"position":[[37,8]]},"208":{"position":[[0,8]]}}}],["exception",{"_index":112,"t":{"113":{"position":[[11,9]]}}}],["exceptions",{"_index":107,"t":{"109":{"position":[[28,10]]},"111":{"position":[[15,10]]},"115":{"position":[[4,10]]},"119":{"position":[[7,10]]}}}],["existing",{"_index":133,"t":{"138":{"position":[[12,8]]},"146":{"position":[[17,8]]}}}],["explicitly",{"_index":128,"t":{"136":{"position":[[0,10]]}}}],["exploring",{"_index":16,"t":{"18":{"position":[[0,9]]}}}],["factory",{"_index":194,"t":{"219":{"position":[[10,7]]}}}],["few",{"_index":10,"t":{"9":{"position":[[12,3]]}}}],["flashing",{"_index":72,"t":{"66":{"position":[[0,8]]}}}],["flips",{"_index":202,"t":{"225":{"position":[[27,5]]}}}],["floor",{"_index":195,"t":{"219":{"position":[[18,5]]}}}],["framegrab",{"_index":37,"t":{"38":{"position":[[0,9]]},"40":{"position":[[6,9]]},"103":{"position":[[0,9]]}}}],["frames",{"_index":33,"t":{"34":{"position":[[16,6]]}}}],["free",{"_index":82,"t":{"70":{"position":[[16,4]]}}}],["full",{"_index":185,"t":{"211":{"position":[[20,5]]}}}],["fully",{"_index":252,"t":{"318":{"position":[[16,5]]}}}],["further",{"_index":85,"t":{"77":{"position":[[0,7]]}}}],["future",{"_index":59,"t":{"58":{"position":[[0,6]]}}}],["garage",{"_index":186,"t":{"213":{"position":[[9,6]]}}}],["getting",{"_index":234,"t":{"271":{"position":[[0,7]]},"291":{"position":[[0,7]]},"346":{"position":[[0,7]]}}}],["go",{"_index":241,"t":{"277":{"position":[[9,3]]},"295":{"position":[[9,3]]},"309":{"position":[[9,3]]},"332":{"position":[[9,3]]},"350":{"position":[[9,3]]}}}],["grabbing",{"_index":31,"t":{"34":{"position":[[0,8]]}}}],["gracefully",{"_index":118,"t":{"119":{"position":[[18,10]]}}}],["gray",{"_index":17,"t":{"18":{"position":[[14,4]]}}}],["greengrass",{"_index":272,"t":{"376":{"position":[[17,10]]}}}],["grime",{"_index":47,"t":{"48":{"position":[[34,5]]},"60":{"position":[[15,5]]}}}],["groundlight",{"_index":24,"t":{"24":{"position":[[8,12]]},"46":{"position":[[0,11]]},"50":{"position":[[32,11]]},"127":{"position":[[0,11]]},"265":{"position":[[11,11]]},"267":{"position":[[9,11]]},"269":{"position":[[10,11]]},"285":{"position":[[11,11]]},"287":{"position":[[9,11]]},"289":{"position":[[10,11]]},"303":{"position":[[11,11]]},"326":{"position":[[11,11]]},"340":{"position":[[11,11]]},"342":{"position":[[9,11]]},"344":{"position":[[10,11]]}}}],["guardian",{"_index":48,"t":{"48":{"position":[[40,8]]},"60":{"position":[[21,8]]}}}],["guides",{"_index":177,"t":{"203":{"position":[[31,6]]}}}],["handle",{"_index":117,"t":{"119":{"position":[[0,6]]}}}],["handling",{"_index":103,"t":{"107":{"position":[[0,8]]},"109":{"position":[[19,8]]},"121":{"position":[[16,8]]},"160":{"position":[[0,8]]}}}],["help",{"_index":30,"t":{"30":{"position":[[14,5]]}}}],["here",{"_index":29,"t":{"30":{"position":[[6,4]]}}}],["home",{"_index":261,"t":{"368":{"position":[[4,4]]}}}],["image",{"_index":73,"t":{"66":{"position":[[16,5]]},"142":{"position":[[12,5]]},"144":{"position":[[19,5]]},"146":{"position":[[26,5]]}}}],["images",{"_index":66,"t":{"64":{"position":[[16,6]]}}}],["implement",{"_index":115,"t":{"117":{"position":[[0,9]]}}}],["important",{"_index":90,"t":{"85":{"position":[[0,9]]}}}],["improvements",{"_index":60,"t":{"58":{"position":[[7,12]]}}}],["industrial",{"_index":126,"t":{"133":{"position":[[0,10]]}}}],["inside",{"_index":26,"t":{"26":{"position":[[7,7]]}}}],["installation",{"_index":175,"t":{"189":{"position":[[0,12]]},"197":{"position":[[0,12]]},"203":{"position":[[18,12]]},"255":{"position":[[0,12]]},"263":{"position":[[6,12]]},"283":{"position":[[6,12]]},"301":{"position":[[6,12]]},"324":{"position":[[6,12]]},"338":{"position":[[6,12]]}}}],["installed",{"_index":249,"t":{"314":{"position":[[27,9]]}}}],["installing",{"_index":230,"t":{"265":{"position":[[0,10]]},"285":{"position":[[0,10]]},"303":{"position":[[0,10]]},"326":{"position":[[0,10]]},"340":{"position":[[0,10]]}}}],["integration",{"_index":163,"t":{"180":{"position":[[0,11]]}}}],["interpretation",{"_index":227,"t":{"249":{"position":[[13,14]]}}}],["intervals",{"_index":218,"t":{"235":{"position":[[19,9]]},"241":{"position":[[16,9]]},"249":{"position":[[42,9]]}}}],["introduction",{"_index":178,"t":{"206":{"position":[[0,12]]}}}],["know",{"_index":12,"t":{"11":{"position":[[9,4]]}}}],["kubernetes",{"_index":273,"t":{"378":{"position":[[13,10]]}}}],["labels",{"_index":140,"t":{"146":{"position":[[7,6]]}}}],["language",{"_index":143,"t":{"149":{"position":[[35,8]]}}}],["linux",{"_index":236,"t":{"273":{"position":[[20,5]]}}}],["list",{"_index":134,"t":{"140":{"position":[[0,4]]},"144":{"position":[[0,4]]}}}],["log",{"_index":114,"t":{"115":{"position":[[0,3]]}}}],["logic",{"_index":55,"t":{"54":{"position":[[34,5]]},"117":{"position":[[16,5]]}}}],["lower",{"_index":216,"t":{"233":{"position":[[0,5]]}}}],["machine",{"_index":78,"t":{"68":{"position":[[8,7]]},"81":{"position":[[17,7]]},"83":{"position":[[17,7]]},"174":{"position":[[0,7]]}}}],["machines",{"_index":166,"t":{"180":{"position":[[32,8]]}}}],["macos",{"_index":242,"t":{"293":{"position":[[20,5]]}}}],["management",{"_index":53,"t":{"54":{"position":[[6,10]]}}}],["manufacturing",{"_index":127,"t":{"133":{"position":[[15,13]]}}}],["microsd",{"_index":75,"t":{"66":{"position":[[29,7]]}}}],["microservice",{"_index":51,"t":{"52":{"position":[[0,12]]}}}],["mns",{"_index":81,"t":{"68":{"position":[[59,5]]},"368":{"position":[[0,3]]}}}],["mode",{"_index":39,"t":{"38":{"position":[[24,4]]}}}],["monitoring",{"_index":79,"t":{"68":{"position":[[28,10]]}}}],["motion",{"_index":41,"t":{"40":{"position":[[20,6]]}}}],["multi",{"_index":34,"t":{"36":{"position":[[0,5]]}}}],["multiple",{"_index":257,"t":{"358":{"position":[[0,8]]}}}],["natural",{"_index":142,"t":{"149":{"position":[[27,7]]}}}],["navigating",{"_index":22,"t":{"20":{"position":[[15,10]]}}}],["new",{"_index":130,"t":{"136":{"position":[[20,3]]}}}],["nice",{"_index":191,"t":{"215":{"position":[[18,4]]}}}],["normal",{"_index":221,"t":{"241":{"position":[[39,6]]}}}],["note",{"_index":238,"t":{"275":{"position":[[8,4]]}}}],["notes",{"_index":5,"t":{"5":{"position":[[19,5]]}}}],["notification",{"_index":54,"t":{"54":{"position":[[21,12]]},"68":{"position":[[39,12]]},"356":{"position":[[0,12]]}}}],["notifications",{"_index":58,"t":{"56":{"position":[[12,13]]}}}],["numpy",{"_index":97,"t":{"99":{"position":[[0,5]]},"318":{"position":[[0,6]]}}}],["onto",{"_index":74,"t":{"66":{"position":[[22,4]]}}}],["opencv",{"_index":96,"t":{"97":{"position":[[0,6]]},"318":{"position":[[7,6]]}}}],["optional",{"_index":247,"t":{"314":{"position":[[6,8]]},"318":{"position":[[22,8]]}}}],["options",{"_index":256,"t":{"356":{"position":[[13,7]]}}}],["order",{"_index":99,"t":{"101":{"position":[[8,6]]}}}],["organized",{"_index":197,"t":{"219":{"position":[[34,10]]}}}],["os",{"_index":65,"t":{"64":{"position":[[13,2]]},"66":{"position":[[13,2]]}}}],["out",{"_index":192,"t":{"215":{"position":[[23,4]]}}}],["overview",{"_index":45,"t":{"48":{"position":[[0,8]]}}}],["page",{"_index":262,"t":{"368":{"position":[[9,4]]}}}],["performance",{"_index":206,"t":{"227":{"position":[[47,11]]}}}],["phrase",{"_index":0,"t":{"3":{"position":[[0,6]]}}}],["pi",{"_index":64,"t":{"64":{"position":[[10,2]]},"131":{"position":[[10,2]]}}}],["pil",{"_index":95,"t":{"95":{"position":[[0,3]]},"314":{"position":[[0,3]]},"316":{"position":[[16,3]]}}}],["platform",{"_index":176,"t":{"203":{"position":[[0,8]]}}}],["powered",{"_index":141,"t":{"149":{"position":[[16,7]]}}}],["practices",{"_index":106,"t":{"109":{"position":[[5,9]]}}}],["pre",{"_index":67,"t":{"64":{"position":[[23,3]]}}}],["prerequisites",{"_index":228,"t":{"261":{"position":[[0,13]]},"281":{"position":[[0,13]]},"299":{"position":[[0,13]]},"322":{"position":[[0,13]]},"336":{"position":[[0,13]]},"364":{"position":[[0,13]]}}}],["previous",{"_index":137,"t":{"144":{"position":[[10,8]]}}}],["problem",{"_index":44,"t":{"46":{"position":[[18,7]]}}}],["process",{"_index":159,"t":{"176":{"position":[[0,7]]}}}],["processor",{"_index":122,"t":{"127":{"position":[[19,9]]}}}],["put",{"_index":3,"t":{"5":{"position":[[0,3]]}}}],["python",{"_index":235,"t":{"271":{"position":[[18,6]]},"273":{"position":[[10,6]]},"291":{"position":[[18,6]]},"293":{"position":[[10,6]]},"346":{"position":[[18,6]]},"348":{"position":[[10,6]]}}}],["quality",{"_index":161,"t":{"178":{"position":[[0,7]]}}}],["queries",{"_index":138,"t":{"144":{"position":[[25,7]]},"146":{"position":[[32,7]]}}}],["query",{"_index":136,"t":{"142":{"position":[[18,5]]}}}],["question",{"_index":1,"t":{"3":{"position":[[11,8]]}}}],["raspberry",{"_index":63,"t":{"64":{"position":[[0,9]]},"131":{"position":[[0,9]]}}}],["reading",{"_index":86,"t":{"77":{"position":[[8,7]]}}}],["ready",{"_index":14,"t":{"13":{"position":[[0,5]]},"277":{"position":[[0,5]]},"295":{"position":[[0,5]]},"309":{"position":[[0,5]]},"332":{"position":[[0,5]]},"350":{"position":[[0,5]]}}}],["real",{"_index":19,"t":{"18":{"position":[[26,4]]}}}],["references",{"_index":223,"t":{"245":{"position":[[0,10]]}}}],["requirements",{"_index":174,"t":{"187":{"position":[[0,12]]},"195":{"position":[[0,12]]},"253":{"position":[[0,12]]}}}],["retrieve",{"_index":132,"t":{"138":{"position":[[0,8]]},"142":{"position":[[0,8]]}}}],["retrieving",{"_index":89,"t":{"83":{"position":[[6,10]]}}}],["retry",{"_index":116,"t":{"117":{"position":[[10,5]]}}}],["revoke",{"_index":156,"t":{"170":{"position":[[3,6]]}}}],["revoking",{"_index":154,"t":{"164":{"position":[[13,8]]},"168":{"position":[[12,8]]}}}],["rgb",{"_index":102,"t":{"101":{"position":[[22,3]]}}}],["right",{"_index":2,"t":{"3":{"position":[[20,5]]},"271":{"position":[[12,5]]},"291":{"position":[[12,5]]},"346":{"position":[[12,5]]}}}],["rtsp",{"_index":243,"t":{"305":{"position":[[6,4]]},"328":{"position":[[6,4]]}}}],["running",{"_index":264,"t":{"370":{"position":[[0,7]]},"372":{"position":[[0,7]]},"374":{"position":[[0,7]]},"376":{"position":[[0,7]]},"378":{"position":[[0,7]]}}}],["sales",{"_index":168,"t":{"182":{"position":[[8,5]]}}}],["sample",{"_index":83,"t":{"75":{"position":[[0,6]]},"129":{"position":[[21,6]]},"307":{"position":[[0,6]]},"330":{"position":[[0,6]]}}}],["sdk",{"_index":152,"t":{"162":{"position":[[26,3]]},"265":{"position":[[23,3]]},"267":{"position":[[21,3]]},"269":{"position":[[22,3]]},"285":{"position":[[23,3]]},"287":{"position":[[21,3]]},"289":{"position":[[22,3]]},"303":{"position":[[23,3]]},"326":{"position":[[23,3]]},"340":{"position":[[23,3]]},"342":{"position":[[21,3]]},"344":{"position":[[22,3]]}}}],["seed",{"_index":9,"t":{"9":{"position":[[0,4]]}}}],["server",{"_index":80,"t":{"68":{"position":[[52,6]]},"370":{"position":[[12,6]]}}}],["service",{"_index":172,"t":{"185":{"position":[[35,7]]}}}],["set",{"_index":199,"t":{"225":{"position":[[5,3]]},"227":{"position":[[43,3]]}}}],["setup",{"_index":87,"t":{"81":{"position":[[0,5]]},"83":{"position":[[0,5]]}}}],["simple",{"_index":148,"t":{"155":{"position":[[11,6]]}}}],["smaller",{"_index":245,"t":{"312":{"position":[[0,7]]}}}],["software",{"_index":71,"t":{"64":{"position":[[54,8]]}}}],["sophisticated",{"_index":50,"t":{"50":{"position":[[18,13]]}}}],["source",{"_index":260,"t":{"360":{"position":[[0,6]]},"380":{"position":[[14,6]]}}}],["special",{"_index":237,"t":{"275":{"position":[[0,7]]}}}],["specific",{"_index":109,"t":{"111":{"position":[[6,8]]},"203":{"position":[[9,8]]}}}],["start",{"_index":15,"t":{"13":{"position":[[9,6]]}}}],["started",{"_index":27,"t":{"28":{"position":[[13,8]]},"70":{"position":[[4,7]]}}}],["state",{"_index":52,"t":{"54":{"position":[[0,5]]}}}],["strategies",{"_index":21,"t":{"20":{"position":[[0,10]]}}}],["stream",{"_index":121,"t":{"127":{"position":[[12,6]]}}}],["streams",{"_index":244,"t":{"305":{"position":[[11,7]]},"328":{"position":[[11,7]]}}}],["submitting",{"_index":88,"t":{"81":{"position":[[6,10]]}}}],["supported",{"_index":258,"t":{"358":{"position":[[9,9]]}}}],["technology",{"_index":146,"t":{"153":{"position":[[11,10]]}}}],["tending",{"_index":158,"t":{"174":{"position":[[8,7]]}}}],["test",{"_index":119,"t":{"121":{"position":[[0,4]]},"225":{"position":[[0,4]]},"227":{"position":[[38,4]]}}}],["thing",{"_index":193,"t":{"217":{"position":[[15,6]]}}}],["think",{"_index":6,"t":{"7":{"position":[[0,5]]}}}],["token",{"_index":157,"t":{"170":{"position":[[17,5]]}}}],["tokens",{"_index":151,"t":{"158":{"position":[[10,6]]},"160":{"position":[[13,6]]},"162":{"position":[[10,6]]},"164":{"position":[[26,6]]},"166":{"position":[[13,6]]},"168":{"position":[[25,6]]}}}],["tracking",{"_index":169,"t":{"185":{"position":[[0,8]]}}}],["trash",{"_index":184,"t":{"211":{"position":[[10,5]]}}}],["true",{"_index":205,"t":{"227":{"position":[[19,4]]}}}],["truth",{"_index":13,"t":{"11":{"position":[[18,5]]}}}],["ubuntu",{"_index":239,"t":{"275":{"position":[[19,6]]}}}],["union",{"_index":225,"t":{"247":{"position":[[17,5]]}}}],["upgrading",{"_index":233,"t":{"269":{"position":[[0,9]]},"273":{"position":[[0,9]]},"289":{"position":[[0,9]]},"293":{"position":[[0,9]]},"344":{"position":[[0,9]]},"348":{"position":[[0,9]]}}}],["upper",{"_index":203,"t":{"227":{"position":[[0,5]]},"229":{"position":[[19,5]]},"231":{"position":[[6,5]]}}}],["use",{"_index":110,"t":{"113":{"position":[[0,3]]}}}],["using",{"_index":40,"t":{"40":{"position":[[0,5]]},"162":{"position":[[0,5]]},"305":{"position":[[0,5]]},"328":{"position":[[0,5]]},"366":{"position":[[0,5]]}}}],["utilization",{"_index":170,"t":{"185":{"position":[[9,11]]}}}],["version",{"_index":232,"t":{"267":{"position":[[25,7]]},"271":{"position":[[25,7]]},"287":{"position":[[25,7]]},"291":{"position":[[25,7]]},"342":{"position":[[25,7]]},"346":{"position":[[25,7]]}}}],["viewing",{"_index":155,"t":{"168":{"position":[[0,7]]}}}],["vision",{"_index":70,"t":{"64":{"position":[[47,6]]},"68":{"position":[[16,6]]},"149":{"position":[[9,6]]}}}],["visual",{"_index":149,"t":{"155":{"position":[[18,6]]}}}],["vs",{"_index":101,"t":{"101":{"position":[[19,2]]}}}],["we're",{"_index":28,"t":{"30":{"position":[[0,5]]}}}],["weather",{"_index":190,"t":{"215":{"position":[[10,7]]}}}],["what's",{"_index":25,"t":{"26":{"position":[[0,6]]}}}],["windows",{"_index":253,"t":{"348":{"position":[[20,7]]}}}],["without",{"_index":251,"t":{"316":{"position":[[8,7]]}}}],["work",{"_index":144,"t":{"151":{"position":[[12,5]]}}}],["working",{"_index":250,"t":{"316":{"position":[[0,7]]}}}],["works",{"_index":93,"t":{"89":{"position":[[22,5]]}}}],["world",{"_index":20,"t":{"18":{"position":[[31,5]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":2,"t":"Want to get the best chance of success from your new Groundlight detectors? Here are five suggestions from the Groundlight science team that can help you get the best performance possible. Come at it from the point of view of making answering your image query question as easy as possible. Pretend you’re explaining the task to a novice. What would you need to do to set them up for success?","s":"Best practices for best results with Groundlight","u":"/python-sdk/blog/best-practices","h":"","p":1},{"i":4,"t":"You will have more success asking questions that can in principle be answered by a reasonable person simply by looking at a single image from the detector. ✅ DO: \"Is there a part staged in front of the robot ready for picking up?\" ❌ DON'T: \"Am I awesome?\" Think about how you will use the output of your detector, so the Yes and No answers align with your expectations. A technically correct answer to a vague question may be of no use to you. For example, if you have a camera pointing down on a kitchen range and would like to get an alert if there's a fire, phrase the query so that normal gas burner flames are excluded. ✅ DO: \"Is there a fire in the pan? (Ignore normal gas burner flames)\" ❌ DON'T: \"Is there a fire?\"","s":"Phrase the question right","u":"/python-sdk/blog/best-practices","h":"#phrase-the-question-right","p":1},{"i":6,"t":"Is any specialized knowledge required to answer your query? Use the notes dialog to provide explanations of any assumed knowledge or definitions of technical terms. Like in the fire extinguisher example above, consider adding short definitions inside the text of the query. ✅ DO: “Is the fiducial (etched arrow on the gear surface) aligned with the painted chain link?” ✅ DO: “Is the fence fully closed? (Metal bar on the fence must be touching the plywood wall)” Here’s an example of detailed notes for a detector asking “Is there a streetcar visible? READ NOTES”: In this case, the customer even drew on the example images to point out where the street car might appear. Detailed notes may be especially useful if the question is about a smaller region of the scene in the image.","s":"Put details in the notes","u":"/python-sdk/blog/best-practices","h":"#put-details-in-the-notes","p":1},{"i":8,"t":"How do you want to treat unclear or edge cases? Sometimes it’s impossible to answer the question based on the image, for example, when it’s too dark at night to tell, or the view is temporarily obstructed by something moving in front of the camera. Do you know how you’d like to treat those cases? ✅ DO: Add notes like “If the image is too dark to tell, the answer should be YES.” In the fire extinguisher example below, the customer wrote “If you can’t see the fire extinguisher, it is blocked” inside the query text, drawing attention to the most important potential edge case. Detailed notes on foreseeable edge cases will prevent confusion by backend labelers and result in quicker learning for your detector at less cost to you.","s":"Think of edge cases","u":"/python-sdk/blog/best-practices","h":"#think-of-edge-cases","p":1},{"i":10,"t":"It helps to add a few labels yourself early on, in order to provide good examples for backend labelers and the new ML model. For best results, if you have example images for both YES and NO answers, send them through early on, and add the corresponding labels. Having at least 2 customer “ground truth” answers for each class of Yes or No will also give you ML performance metrics on your detector.","s":"Seed with a few examples","u":"/python-sdk/blog/best-practices","h":"#seed-with-a-few-examples","p":1},{"i":12,"t":"Check periodically under the Flagged tab on your detector's detail page to see if any images may still be confusing. Click on the \"Override Label\" button to provide the correct answer in those cases. It's also good practice to continue adding a few ground truth labels here and there by clicking on the “Keep labeling” button on the detector details page, in order to get tighter confidence bounds on your detector’s performance metrics. 🎓 Read an in-depth discussion of how we assess detector accuracy and the confidence bounds reported for your detector's performance: Tales from the Binomial Tail: Confidence intervals for balanced accuracy If you notice labeling mistakes, correct them by providing your own answer. Then consider adding extra instructions in the notes. You can upload screenshots or images inside the notes dialog too. Our labeling staff will be notified whenever you make changes to your notes so they stay up to date with how you want your detector to behave and can quickly address misconceptions.","s":"Only you know the truth","u":"/python-sdk/blog/best-practices","h":"#only-you-know-the-truth","p":1},{"i":14,"t":"We hope these tips give you a great start. If you haven’t already, you can sign up for a free account at https://app.groundlight.ai. Dive into Groundlight Pi-Gen for a hassle-free introduction to AI-powered computer vision on Raspberry Pi. If you have any questions, please reach out to us on the in-application chat or via email to support@groundlight.ai.","s":"Ready to start?","u":"/python-sdk/blog/best-practices","h":"#ready-to-start","p":1},{"i":17,"t":"When you first explore the capabilities of our Groundlight AI detectors, you'll quickly notice that they excel at answering binary questions. These are queries expecting a straightforward \"Yes\" or \"No\" response. However, the world around us rarely conforms to such black-and-white distinctions, particularly when analyzing images. In reality, many scenarios present challenges that defy a simple binary answer.","s":"Navigating Ambiguity with Groundlight AI Detectors","u":"/python-sdk/blog/dealing-with-unclear-images","h":"","p":16},{"i":19,"t":"Consider the following scenarios that highlight the complexity of interpreting real-world images: The Case of the Hidden Oven: Imagine asking, \"Is the oven light turned on?\" only to find the view partially blocked by a person. With the contents on the other side hidden from view, providing a definitive \"Yes\" or \"No\" becomes impossible. Such instances are best described as \"Unclear.\" Oven is hidden from the camera view The Locked Garage Door Dilemma: When faced with a query like, \"Is the garage door locked?\" accompanied by an image shrouded in darkness or blurred beyond recognition, identifying the status of the door lock is a challenge. In these circumstances, clarity eludes us, leaving us unable to confidently answer. Dark images make it difficult to answer the query Irrelevant Imagery: At times, the images presented may bear no relation to the question posed. These irrelevant scenes further underscore the limitations of binary responses in complex situations. For instance, responding to the question \"Is there a black jacket on the coat hanger?\" with the following image (that doesn't even include a coat hanger) exemplifies how such imagery can be off-topic and fail to address the query appropriately. Images unrelated to the query lead to ambiguity","s":"Exploring the Gray Areas: Real-World Examples","u":"/python-sdk/blog/dealing-with-unclear-images","h":"#exploring-the-gray-areas-real-world-examples","p":16},{"i":21,"t":"Although encountering unclear images might seem like a setback, it actually opens up avenues for improvement and customization. Our detectors are designed to identify and flag these ambiguous cases, empowering you to steer their interpretation. Here are some strategies you can employ to enhance the process: Clarify your queries : It's crucial to formulate your questions to the system with precision, avoiding any vagueness. For instance, instead of asking, “Is the light ON?” opt for a more detailed inquiry such as, “Can you clearly see the red LED on the right panel turned ON?” This approach ensures your queries are direct and specific. Customize Yes/ No classifications: You can specify how the model should interpret and deal with unclear images by reframing your queries and notes. For instance, by specifying “If the garage door is not visible, mark it as a NO” in your notes, you can make the detector sort unclear images into the “NO” class. You can refer to our previous blog post for best practices while refining your queries and notes. Flagging “Unclear” images: Should you prefer to classify an obstructed view or irrelevant imagery as “Unclear”, simply add a couple of labels as “UNCLEAR” or provide instructions in the notes. Groundlight's machine learning systems will adapt to your preference and continue to flag them as \"Unclear\" for you. Marking an image query as “Unclear\" in the data review page The strategies outlined above will significantly improve your ability to navigate through unclear scenarios. However, there exist many other situations, such as borderline classifications or cases where there's insufficient information for a definitive answer. Recognizing and managing the inherent uncertainty in these tasks is crucial as we progress. We are committed to building more tools that empower you to deal with these challenges.","s":"Strategies for Navigating Ambiguity","u":"/python-sdk/blog/dealing-with-unclear-images","h":"#strategies-for-navigating-ambiguity","p":16},{"i":23,"t":"We're thrilled to announce a new repository that makes it incredibly easy for anyone to get started for free with Groundlight, a computer vision (CV) platform powered by natural language. This first steps guide is designed to walk you through setting up your first Groundlight detector to answer a simple question: \"Is the door open?\" Behind the scenes, Groundlight will automatically train and deploy a computer vision model that can answer this question in real time. With our escalation technology, you don't need to provide any labeled data - you get answers from your first image submission.","s":"Building your first computer vision model just got easier","u":"/python-sdk/blog/getting-started","h":"","p":22},{"i":25,"t":"Groundlight offers a truly modern take on computer vision, combining the best AI models with real-time human supervision in the cloud. Our Escalation Technology automatically chooses the best solution for your problem - whether that's a traditional CV model like an EfficentNet on the edge, a powerful Visual LLM in the cloud, or a live sensible human monitor. The result is fairly incredible if you're used to the traditional [\"gather data\", \"train model\", \"evaluate\", \"repeat\"] pattern of machine learning. Instead, Groundlight empowers you to just phrase the visual question you want answered in English, send in images, and Groundlight provides confidence-calibrated answers. At first, the answers will be slow and/or unconfident, but after not very many examples you're using a customized CV model trained just for your task. Groundlight's escalation technology backs every question you ask Groundlight. Escalation ensures we find the best answer for your question, every time.","s":"What is Groundlight?","u":"/python-sdk/blog/getting-started","h":"#what-is-groundlight","p":22},{"i":27,"t":"Our getting started repository provides an easy to understand Python codebase that you can run on any modern computer (including a Raspberry Pi). It captures images from a camera of your choice (by default your webcam) and uses Groundlight to continuously train and deploy a computer vision model that determines if your door is open or closed. Whether you're just starting out or a seasoned developer, this example is crafted to provide a smooth introduction to integrating Groundlight into your projects and provide a springboard for building advanced applications with Groundlight. The main.py file could hardly be simpler. First you just initialize the camera and your Groundlight detector: camera = setup_camera() gl = Groundlight() query_text = \"Is the door open? This includes if the door is only partially open.\" detector_name = \"door_open_detector\" detector = gl.get_or_create_detector( name=detector_name, query=query_text, ) and then a simple infinite loop to send images from the camera to your detector: try: while True: image = camera.grab() image_query = gl.ask_ml(detector=detector, image=image) print(f\"The answer to the query is {image_query.result.label.value}\") sleep(10) finally: camera.release()","s":"What's Inside?","u":"/python-sdk/blog/getting-started","h":"#whats-inside","p":22},{"i":29,"t":"Visit the repository and follow the steps in the README. After trying it out, we encourage you to modify the code to solve a real world problem you experience. Doing so should be as simple as changing the query you ask Groundlight. See the Learning More - Additional Resources section of the README for more information. If you want to learn more about the Groundlight Python SDK, which is used to power this repository, check out our SDK or visit the documentation.","s":"How do I get started?","u":"/python-sdk/blog/getting-started","h":"#how-do-i-get-started","p":22},{"i":31,"t":"Got questions? We're eager to assist! Reach out to us through email (support@groundlight.ai), or chat on the Groundlight web app - a Groundlight engineer or scientist is available to help every weekday during business hours. We can't wait to see what you build with Groundlight!","s":"We're Here to Help!","u":"/python-sdk/blog/getting-started","h":"#were-here-to-help","p":22},{"i":33,"t":"At Groundlight, we continue to build infrastructure that allows our customers to easily use computer vision without a pre-existing dataset for industrial inspection, retail analytics, mobile robotics, and much more. We've built many features towards the goal of declarative computer vision, and today we are excited to introduce FrameGrab, a Python library designed to make it easy to grab frames from cameras or streams. FrameGrab supports generic USB cameras, RTSP streams, Basler USB cameras, Basler GigE cameras, and Intel RealSense depth cameras.","s":"Introducing Groundlight's FrameGrab Library","u":"/python-sdk/blog/introducing-framegrab","h":"","p":32},{"i":35,"t":"Frame grabber objects are configured through YAML. The configuration combines the camera type, camera ID, and the camera options. The YAML config contains many configurable features, but only input_type is required. Valid choices for input_type include generic_usb rtsp realsense basler Here is an example of how to use the generic USB configuration from framegrab import FrameGrabber config = \"\"\" name: Front Door Camera input_type: generic_usb id: serial_number: 23432570 options: resolution: height: 1080 width: 1920 zoom: digital: 1.5 \"\"\" grabber = FrameGrabber.create_grabber_yaml(config) frame = grabber.grab() # Do real work with the frame # Finally release the grabber object grabber.release() For the full set of configurable parameters, please refer to the FrameGrab repository.","s":"Grabbing Camera Frames","u":"/python-sdk/blog/introducing-framegrab","h":"#grabbing-camera-frames","p":32},{"i":37,"t":"If you have multiple cameras of the same type plugged in, we recommend you include serial numbers in the YAML config to ensure proper pairing. The default pairing behavior is sequential (i.e., configurations will be paired with cameras in a sequential ordering). You can add serial numbers for multiple cameras like this GL_CAMERAS: | - name: on robot arm input_type: realsense options: depth: side_by_side: 1 crop: relative: right: .8 - name: conference room input_type: rtsp id: rtsp_url: rtsp://admin:password@192.168.1.20/cam/realmonitor?channel=1&subtype=0 options: crop: pixels: top: 350 bottom: 1100 left: 1100 right: 2000 - name: workshop input_type: generic_usb id: serial_number: B77D3A8F","s":"Multi-cam Configuration","u":"/python-sdk/blog/introducing-framegrab","h":"#multi-cam-configuration","p":32},{"i":39,"t":"Among other features, FrameGrab also includes autodiscovery mode. This allows you to automatically connect to all cameras that are plugged into your machine (or discoverable on the network). Autodiscovery will load up default configurations for each camera. note Please note that RTSP streams cannot be autodiscovered in this manner. RTSP URLs must be pre-specified in the configurations. We recommend autodiscovery for simple applications where you don't need to set any special options on your cameras. It is also a convenient method for finding the serial numbers of your cameras in case they are not printed on them. Below is a short example of how to launch autodiscovery mode. from framegrab import FrameGrabber grabbers = FrameGrabber.autodiscover() # Print some information about the discovered cameras for grabber in grabbers.values(): print(grabber.config) # Do real work # Release the frame grabber object grabber.release()","s":"FrameGrab Autodiscovery Mode","u":"/python-sdk/blog/introducing-framegrab","h":"#framegrab-autodiscovery-mode","p":32},{"i":41,"t":"With this release, we also continue to support motion detection via frame differencing, a fast algorithm for easily detecting motion in a sequence of frames. To use motion detection, initialize the MotionDetector instance with the desired percentage of pixels needed to change in an image for it to be flagged for motion and the minimum brightness change for each pixel for it to be considered changed. Here is a comprehensive example. from framegrab import FrameGrabber, MotionDetector config = { 'input_type': 'webcam', } grabber = FrameGrabber.create_grabber(config) motion_detector = MotionDetector(pct_threshold=motion_threshold, val_threshold=60) while True: frame = grabber.grab() if frame is None: print(\"No frame captured!\") continue if motion_detector.motion_detected(frame): print(\"Motion detected!\")","s":"Using FrameGrab for Motion Detection","u":"/python-sdk/blog/introducing-framegrab","h":"#using-framegrab-for-motion-detection","p":32},{"i":43,"t":"Recent releases of FrameGrab add various easy to use features. We now support multiple camera types and continue to support motion detection. If you encounter any issues while using FrameGrab, please feel free to file an issue in our GitHub repository and while there, review guidelines for contributing to this library.","s":"Conclusion","u":"/python-sdk/blog/introducing-framegrab","h":"#conclusion","p":32},{"i":45,"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":44},{"i":47,"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":44},{"i":49,"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":44},{"i":51,"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":44},{"i":53,"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":44},{"i":55,"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":44},{"i":57,"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":44},{"i":59,"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":44},{"i":61,"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":44},{"i":63,"t":"Happy New Year everybody! If you got a fancy new Raspberry Pi 5 for Christmas, you might be wondering what to do with it. Well, we have a suggestion: build a computer vision application with it! And we have all the tools you need to get started. Raspberry Pi offers a great platform for computer vision (CV), ranging from home hobby projects to serious industrial applications. However, setting up a Raspberry Pi for computer vision can be a time-consuming process. Groundlight Pi-Gen, simplifies the setup process by providing ready-to-use OS images for Raspberry Pi. (Note that here, when we say \"image\" we mean an OS image, which is a file containing a snapshot of an operating system - linux - that can be installed onto a new machine. These are not photos or pictures, which are also of course important in computer vision. Oh jargon...)","s":"Linux OS Images for Computer Vision on Raspberry Pi","u":"/python-sdk/blog/raspberry-pi-computer-vision","h":"","p":62},{"i":65,"t":"To download a Linux image for your Raspberry Pi, loaded with all the software you need for computer vision, go to the releases section in Groundlight Pi-Gen to find Raspberry Pi OS images (.img.xz files) that have pre-configured software environments for computer vision. These images are ready to be flashed onto a Raspberry Pi. These include a fast, modern version of python (3.11), along with key libraries like OpenCV for classic algorithms and device management, Numpy for fast math, FrameGrab for declarative access to image sources, and of course Groundlight for fully-managed visual understanding models. We've set up a venv for you to avoid the dreaded \"externally-managed-environment\" error which plagues many newer python versions, while still letting you use good-old pip to add more. (We like poetry and conda, and these will also work fine if you prefer them.) There are several flavors of OS image available. The smaller ones are suitable for headless use, while the larger ones include a desktop GUI with a browser. The key differences are the size of the download and the amount of time it takes to flash the image onto a microSD card. The available flavors in the current release are: desktop: Image with Groundlight MNS and a desktop GUI with a browser. Appropriate for a Raspberry Pi with a screen attached. mns-headless: Image with Groundlight Monitoring Notification Server (MNS) for headless use. sdk-only: Minimal image with the Python SDK and core libraries. Suitable for headless use on smaller Raspberry Pi models such as the Pi Zero. A couple more flavors you might be interested in: We're planning a kiosk mode for the desktop image, so that you can run a Groundlight MNS instance on a Raspberry Pi with a screen attached, and have it automatically start up in a browser. Also note that the edge version which will download and run the ML models locally is not yet supported on Raspberry Pi, because the edge models requires a CUDA GPU.","s":"Raspberry Pi OS Images pre-built with Computer Vision Software","u":"/python-sdk/blog/raspberry-pi-computer-vision","h":"#raspberry-pi-os-images-pre-built-with-computer-vision-software","p":62},{"i":67,"t":"Once you have downloaded your image file, the next step is to flash it onto a microSD card. To do this, download the Raspberry Pi Imager software. After selecting your hardware type under \"Choose Device\", click \"Choose OS\" and scroll to the bottom to \"Use custom\". Then select the .img.xz file you downloaded. Then choose your microSD card with the \"Choose Storage\" button, and then click \"Next\". You'll get a prompt asking \"Use OS customization?\" which is optional, but very cool. Choose \"Edit settings\", and you can set your Wi-Fi credentials, enable SSH login with a public key. When you're done configuring settings, click \"Save\" and then \"Yes\" to confirm. Writing the image to the microSD card will take a few minutes. When it's done, just pop the SD card into your pi, and power it up! If it all works properly, you'll be able to access your Raspberry Pi over the network without needing to plug in a keyboard, mouse, or monitor. (We like to plug it into Ethernet for the first boot, because we find that the Raspberry Pi's Wi-Fi can be a bit finicky, even if properly configured.)","s":"Flashing the OS Image onto a microSD Card","u":"/python-sdk/blog/raspberry-pi-computer-vision","h":"#flashing-the-os-image-onto-a-microsd-card","p":62},{"i":69,"t":"If you opted to install the desktop or mns-headless image, you'll have a web application called the Groundlight Monitoring Notification Server (MNS), which is a web application that allows you set up a computer vision pipeline without writing any code, and have it notify you when it detects something of interest. After setting up your Raspberry Pi with Groundlight OS, wait a few minutes for it to finish downloading everything, and then access the MNS by navigating to http://[your-raspberry-pi's-IP-address]:3000 in a web browser, or if you're running the desktop version, open http://localhost:3000/. It will prompt you for your Groundlight API token, which you can get with a free account at app.groundlight.ai. Then you can describe your visual query in natural language, and how you want the MNS to notify you when it detects something of interest. For best-practices on how to describe your visual query, see this blog post.","s":"No-code machine vision with Monitoring Notification Server (MNS)","u":"/python-sdk/blog/raspberry-pi-computer-vision","h":"#no-code-machine-vision-with-monitoring-notification-server-mns","p":62},{"i":71,"t":"To start building your own computer vision solutions, sign up for a free account at app.groundlight.ai. Dive into Groundlight Pi-Gen for a hassle-free introduction to AI-powered computer vision on Raspberry Pi. If you have any questions, please reach out to us on the in-application chat at app.groundlight.ai or on GitHub.","s":"Get Started for Free","u":"/python-sdk/blog/raspberry-pi-computer-vision","h":"#get-started-for-free","p":62},{"i":74,"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. In this page, we'll introduce you to some sample applications built using Groundlight and provide links to more detailed guides on various topics.","s":"Building Applications","u":"/python-sdk/docs/building-applications","h":"","p":73},{"i":76,"t":"Sample Applications: Find repositories with examples of applications built with Groundlight","s":"Sample Applications","u":"/python-sdk/docs/building-applications","h":"#sample-applications","p":73},{"i":78,"t":"For more in-depth guides on various aspects of building applications with Groundlight, check out the following pages: 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. Confidence levels: Master how to control the trade-off of latency against accuracy by configuring the desired confidence level for your detectors. Handling server errors: Understand how to handle and troubleshoot HTTP errors 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. 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":"Further Reading","u":"/python-sdk/docs/building-applications","h":"#further-reading","p":73},{"i":80,"t":"Groundlight provides a simple interface for submitting asynchronous queries. This is useful for times 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":"Asynchronous Queries","u":"/python-sdk/docs/building-applications/async-queries","h":"","p":79},{"i":82,"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 returns as soon as the query is submitted. It does not wait for an answer to be available prior to returning to minimize the time your program spends interacting with Groundlight. As a result, the ImageQuery object ask_async returns lacks a result (the result field will be None). This is acceptable for this use case as the submitting machine is not interested in the result. Instead, the submitting machine just needs to communicate the ImageQuery.ids to the retrieving machine - this might be done via a database, a message queue, or some other mechanism. For this example, we assume you are using a database where you save the ImageQuery.id to it via db.save(image_query.id). from groundlight import Groundlight import cv2 from time import sleep detector = gl.get_or_create_detector(name=\"your_detector_name\", query=\"your_query\") cam = cv2.VideoCapture(0) # Initialize camera (0 is the default index) while True: _, image = cam.read() # Capture one frame from the camera image_query = gl.ask_async(detector=detector, image=image) # Submit the frame to Groundlight 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 submitting the next query cam.release() # Release the camera","s":"Setup Submitting Machine","u":"/python-sdk/docs/building-applications/async-queries","h":"#setup-submitting-machine","p":79},{"i":84,"t":"On the retrieving machine you will need to install the Groundlight Python SDK. Then you can retrieve the results of the image queries submitted by another machine using get_image_query. The retrieving machine can then use the ImageQuery.result to take action based on the result for whatever application you are building. For this example, we assume your application looks up the next image query to process from a database via db.get_next_image_query_id() and that this function returns None once all ImageQuerys are 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/building-applications/async-queries","h":"#setup-retrieving-machine","p":79},{"i":86,"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. You can see all of the interfaces available in the documentation here. from groundlight import Groundlight from PIL import Image 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 result = image_query.result # This will always be 'None' as you asked asynchronously image_query = gl.get_image_query(id=image_query.id) # Immediately retrieve the image query from Groundlight result = image_query.result # This will likely be 'UNCLEAR' as Groundlight is still processing your 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/building-applications/async-queries","h":"#important-considerations","p":79},{"i":88,"t":"If your account has access to edge models, you can download and install them to your edge devices. This allows you to run your model evaluations on the edge, reducing latency, cost, network bandwidth, and energy.","s":"Using Groundlight on the Edge","u":"/python-sdk/docs/building-applications/edge","h":"","p":87},{"i":90,"t":"The Edge Endpoint runs as a set of docker containers on an \"edge device\". This edge device can be an NVIDIA Jetson device, rack-mounted server, or even a Raspberry Pi. The Edge Endpoint is responsible for downloading and running the models, and for communicating with the Groundlight cloud service. To use the edge endpoint, simply configure the Groundlight SDK to use the edge endpoint's URL instead of the cloud endpoint. All application logic will work seamlessly and unchanged with the Groundlight Edge Endpoint, except some ML answers will return much faster locally. The only visible difference is that image queries answered at the edge endpoint will have the prefix iqe_ instead of iq_ for image queries answered in the cloud. iqe_ stands for \"image query edge\". Edge-originated image queries will not appear in the cloud dashboard.","s":"How the Edge Endpoint works","u":"/python-sdk/docs/building-applications/edge","h":"#how-the-edge-endpoint-works","p":87},{"i":92,"t":"To configure the Groundlight SDK to use the edge endpoint, you can either pass the endpoint URL to the Groundlight constructor like: from groundlight import Groundlight gl = Groundlight(endpoint=\"http://localhost:6717\") or by setting the GROUNDLIGHT_ENDPOINT environment variable like: export GROUNDLIGHT_ENDPOINT=http://localhost:6717 python your_app.py","s":"Configuring the Edge Endpoint","u":"/python-sdk/docs/building-applications/edge","h":"#configuring-the-edge-endpoint","p":87},{"i":94,"t":"Groundlight's SDK accepts images in many popular formats, including PIL, OpenCV, and numpy arrays.","s":"Grabbing Images","u":"/python-sdk/docs/building-applications/grabbing-images","h":"","p":93},{"i":96,"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/building-applications/grabbing-images","h":"#pil","p":93},{"i":98,"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/building-applications/grabbing-images","h":"#opencv","p":93},{"i":100,"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)","s":"Numpy","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#numpy","p":93},{"i":102,"t":"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":"Channel order: BGR vs RGB","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#channel-order-bgr-vs-rgb","p":93},{"i":104,"t":"For a unified interface to many different kinds of image sources, see the framegrab library. Framegrab is still an early work in progress, but has many useful features for working with cameras and other image sources. Framegrab provides a single interface for many different kinds of image sources, including: USB cameras IP cameras Video files Image files","s":"Framegrab","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#framegrab","p":93},{"i":106,"t":"When building applications with the Groundlight SDK, you may encounter server errors during API calls. This page covers how to handle such errors and build robust code that can gracefully handle exceptions.","s":"Handling Server Errors","u":"/python-sdk/docs/building-applications/handling-errors","h":"","p":105},{"i":108,"t":"If there is an HTTP error during an API call, the SDK will raise an ApiException. You can access different metadata from that exception: import traceback from groundlight import ApiException, Groundlight gl = Groundlight() try: d = gl.get_or_create_detector( \"Road Checker\", \"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/building-applications/handling-errors","h":"#handling-apiexception","p":105},{"i":110,"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/building-applications/handling-errors","h":"#best-practices-for-handling-exceptions","p":105},{"i":112,"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/building-applications/handling-errors","h":"#catch-specific-exceptions","p":105},{"i":114,"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/building-applications/handling-errors","h":"#use-custom-exception-classes","p":105},{"i":116,"t":"Log exceptions with appropriate log levels (e.g., error, warning, etc.) and include relevant context information. This will help you debug issues more effectively and monitor the health of your application.","s":"Log Exceptions","u":"/python-sdk/docs/building-applications/handling-errors","h":"#log-exceptions","p":105},{"i":118,"t":"When handling exceptions, implement retry logic with exponential backoff for transient errors, such as network issues or rate-limiting. This can help your application recover from temporary issues without manual intervention.","s":"Implement Retry Logic","u":"/python-sdk/docs/building-applications/handling-errors","h":"#implement-retry-logic","p":105},{"i":120,"t":"In addition to logging exceptions, handle them gracefully to ensure that your application remains functional despite errors. This might include displaying an error message to users or falling back to a default behavior.","s":"Handle Exceptions Gracefully","u":"/python-sdk/docs/building-applications/handling-errors","h":"#handle-exceptions-gracefully","p":105},{"i":122,"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/building-applications/handling-errors","h":"#test-your-error-handling","p":105},{"i":124,"t":"Groundlight gives you a simple way to control the trade-off of latency against accuracy. The longer you can wait for an answer to your image query, the better accuracy you can get. In particular, if the ML models are unsure of the best response, they will escalate the image query to more intensive analysis with more complex models and real-time human monitors as needed. Your code can easily wait for this delayed response. Either way, these new results are automatically trained into your models so your next queries will get better results faster. The desired confidence level is set as the escalation threshold on your detector. This determines the minimum confidence score for the ML system to provide before the image query is escalated. For example, say you want to set your desired confidence level to 0.95, but that you're willing to wait up to 60 seconds to get a confident response. 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) # 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=60) print(f\"The answer is {image_query.result}\") tip Tuning confidence lets you balance accuracy against latency. Higher confidence will get higher accuracy, but will generally require higher latency. Higher confidence also requires more labels, which increases labor costs. Or if you want to execute submit_image_query as fast as possible, set wait=0. You will either get the ML results or a placeholder response if the ML model hasn't finished executing. Image queries which are below the desired confidence level will still be escalated for further analysis, and the results are incorporated as training data to improve your ML model, but your code will not wait for that to happen. image_query = gl.submit_image_query(detector=d, image=image, wait=0) If the returned result was generated from an ML model, you can see the confidence score returned for the image query: print(f\"The confidence is {image_query.result.confidence}\")","s":"Confidence Levels","u":"/python-sdk/docs/building-applications/managing-confidence","h":"","p":123},{"i":126,"t":"Explore these GitHub repositories to see examples of Groundlight-powered applications:","s":"Sample Applications","u":"/python-sdk/docs/building-applications/sample-applications","h":"","p":125},{"i":128,"t":"Repository: https://github.com/groundlight/stream The Groundlight Stream Processor is an easy-to-use Docker container for analyzing RTSP streams or common USB-based cameras. You can run it with a single Docker command, such as: docker run stream:local --help","s":"Groundlight Stream Processor","u":"/python-sdk/docs/building-applications/sample-applications","h":"#groundlight-stream-processor","p":125},{"i":130,"t":"Repository: https://github.com/groundlight/esp32cam This sample application allows you to build a working AI vision detector using an inexpensive WiFi camera. With a cost of under $10, you can create a powerful and affordable AI vision system.","s":"Arduino ESP32 Camera Sample App","u":"/python-sdk/docs/building-applications/sample-applications","h":"#arduino-esp32-camera-sample-app","p":125},{"i":132,"t":"Repository: https://github.com/groundlight/raspberry-pi-door-lock This sample application demonstrates how to set up a Raspberry Pi-based door lock system. The application monitors a door and sends a notification if the door is observed to be unlocked during non-standard business hours.","s":"Raspberry Pi","u":"/python-sdk/docs/building-applications/sample-applications","h":"#raspberry-pi","p":125},{"i":134,"t":"Groundlight can be used to apply modern natural-language-based computer vision to industrial and manufacturing applications.","s":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/building-applications/sample-applications","h":"#industrial-and-manufacturing-applications","p":125},{"i":137,"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 this what we want to see?\")","s":"Explicitly create a new detector","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#explicitly-create-a-new-detector","p":135},{"i":139,"t":"from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector(id=\"YOUR_DETECTOR_ID\")","s":"Retrieve an existing detector","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#retrieve-an-existing-detector","p":135},{"i":141,"t":"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/building-applications/working-with-detectors","h":"#list-your-detectors","p":135},{"i":143,"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","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#retrieve-an-image-query","p":135},{"i":145,"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/building-applications/working-with-detectors","h":"#list-your-previous-image-queries","p":135},{"i":147,"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 image_query 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. from groundlight import Groundlight from PIL import Image import requests 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' The only valid labels at this time are 'YES' and 'NO'.","s":"Adding labels to existing image queries","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#adding-labels-to-existing-image-queries","p":135},{"i":150,"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}\") Note: The SDK is currently in \"beta\" phase. Interfaces are subject to change in future versions. We will follow semver semantics for breaking changes.","s":"Computer Vision powered by Natural Language","u":"/python-sdk/docs/getting-started","h":"#computer-vision-powered-by-natural-language","p":148},{"i":152,"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":148},{"i":154,"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":148},{"i":156,"t":"Install the groundlight SDK. Requires python version 3.7 or higher. See prerequisites. pip3 install groundlight Head over to the groundlight web app 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":148},{"i":159,"t":"To use the Groundlight SDK or API, you need a security token which we call an \"API Token.\" These authenticate you to Groundlight and authorize your code to use services in your account. API tokens look like api_2GdXMflhJ... and consist of a ksuid (a kind of sortable UUID) followed by a secret string.","s":"About API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#about-api-tokens","p":157},{"i":161,"t":"You should treat API tokens like passwords. Never check them directly into your code or share them. Please use best security practices with your API tokens, because if anybody gets your API token, they have nearly full control over your Groundlight account. Here are some best practices for handling API tokens: Store API tokens in a secure location, such as an encrypted vault. Use environment variables to store API tokens, rather than hardcoding them in your application. Limit the number of people who have access to API tokens. Rotate API tokens regularly and revoke old ones when they are no longer needed.","s":"Handling API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#handling-api-tokens","p":157},{"i":163,"t":"There are a couple of ways the SDK can find your API token: Environment variable (recommended): As a best practice, we recommend storing API tokens in the environment variable GROUNDLIGHT_API_TOKEN. This helps avoid accidentally committing the token to your code repository. The SDK will automatically look for the API token there, so you don't have to put it in your code at all. from groundlight import Groundlight # looks for API token in environment variable GROUNDLIGHT_API_TOKEN gl = Groundlight() Constructor argument: Alternatively, you can pass the API token directly to the Groundlight constructor. However, be cautious not to commit this code to your repository. from groundlight import Groundlight token = get_token_from_secure_location() gl = Groundlight(api_token=token)","s":"Using API Tokens with the SDK","u":"/python-sdk/docs/getting-started/api-tokens","h":"#using-api-tokens-with-the-sdk","p":157},{"i":165,"t":"You can manage your API tokens from the Groundlight website at https://app.groundlight.ai/reef/my-account/api-tokens.","s":"Creating and Revoking API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#creating-and-revoking-api-tokens","p":157},{"i":167,"t":"Log in to your Groundlight account and navigate to the API tokens page. Click the \"Create New API Token\" button. Give the new token a descriptive name, so you can easily identify it later. Click \"Create Token.\" Copy the generated token and store it securely, as you won't be able to see it again. Groundlight does not store a copy of your API tokens.","s":"Creating API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#creating-api-tokens","p":157},{"i":169,"t":"On the API tokens page, you can see a list of your current tokens, along with the following information: Token Name: The descriptive name you assigned when creating the token Snippet (prefix): A short, unique identifier for each token Last used: The date and time the token was last used","s":"Viewing and Revoking API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#viewing-and-revoking-api-tokens","p":157},{"i":171,"t":"Locate the token you want to revoke in the list. Click the \"Delete\" button next to the token. Confirm that you want to revoke the token. Note: Revoking an API token will immediately invalidate it and prevent any applications using it from accessing your Groundlight account. Be sure to update your applications with a new token before revoking an old one.","s":"To revoke an API token","u":"/python-sdk/docs/getting-started/api-tokens","h":"#to-revoke-an-api-token","p":157},{"i":173,"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/building-applications/industrial","h":"","p":172},{"i":175,"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/building-applications/industrial","h":"#machine-tending","p":172},{"i":177,"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/building-applications/industrial","h":"#process-automation","p":172},{"i":179,"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/building-applications/industrial","h":"#quality-control","p":172},{"i":181,"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/building-applications/industrial","h":"#integration-with-cobots-and-cnc-machines","p":172},{"i":183,"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/building-applications/industrial","h":"","p":172},{"i":186,"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/getting-started/retail-analytics","h":"#tracking-utilization-of-a-customer-service-counter","p":184},{"i":188,"t":"Groundlight SDK with Python 3.7 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/getting-started/retail-analytics","h":"#requirements","p":184},{"i":190,"t":"Ensure you have Python 3.7 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/getting-started/retail-analytics","h":"#installation","p":184},{"i":192,"t":"First, log in to the Groundlight application and get an API Token. Next, we'll write the Python script for the application. Import the required libraries: import time import cv2 import smtplib from groundlight import Groundlight from PIL import Image from datetime import datetime, timedelta from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText 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 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 script as service_counter_monitor.py and run it: python service_counter_monitor.py","s":"Creating the Application","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#creating-the-application","p":184},{"i":194,"t":"A quick example to get used to setting up detectors and asking good questions: set up a monitor on a live stream.","s":"A Quick Example: Live Stream Alert","u":"/python-sdk/docs/getting-started/streaming","h":"","p":193},{"i":196,"t":"Groundlight SDK with Python 3.7 or higher The video ID of a YouTube live stream you'd like to monitor","s":"Requirements","u":"/python-sdk/docs/getting-started/streaming","h":"#requirements","p":193},{"i":198,"t":"Ensure you have Python 3.7 or higher installed, and then install the Groundlight SDK and OpenCV library: # MacOS brew install ffmpeg # Ubuntu/Fedora linux sudo apt install -y ffmpeg pip install groundlight pillow ffmpeg yt-dlp typer","s":"Installation","u":"/python-sdk/docs/getting-started/streaming","h":"#installation","p":193},{"i":200,"t":"Save this command as a shell script get_latest_frame.sh: #!/bin/bash ffmpeg -i \"$(yt-dlp -g $1 | head -n 1)\" -vframes 1 last.jpg -y This will download the most recent frame from a YouTube live stream and save it to a local file last.jpg. Ensure that the script has execute permissions. You can add execute permissions using the following command: chmod +x get_latest_frame.sh Log in to the Groundlight application and get an API Token. Next, we'll write the Python script for the application. import os import subprocess import typer from groundlight import Groundlight from PIL import Image def main(*, video_id: str = None, detector_name: str = None, query: str = None, confidence: float = 0.75, wait: int = 60): \"\"\" Run the script to get the stream's last frame as a subprocess, and submit result as an image query to a Groundlight detector :param video_id: Video ID of the YouTube live stream (the URLs have the form https://www.youtube.com/watch?v=) :param detector_name: Name for your Groundlight detector :param query: Question you want to ask of the stream (we will alert on the answer of NO) \"\"\" gl = Groundlight() detector = gl.get_or_create_detector(name=detector_name, query=query, confidence_threshold=confidence) while True: p = subprocess.run([\"./get_latest_frame.sh\", video_id]) if p.returncode != 0: raise RuntimeError(f\"Could not get image from video ID: {video_id}. Process exited with return code {p.returncode}.\") image = Image.open(\"last.jpg\").convert(\"RGB\") response = gl.submit_image_query(detector=detector, image=image, wait=wait) if response.result.label == \"NO\": os.system(\"say 'Alert!'\") # this may not work on all operating systems if __name__ == \"__main__\": typer.run(main) Save the script as streaming_alert.py in the same directory as get_latest_frame.sh above and run it: python streaming_alert.py --video-id= --detector-name= --query=","s":"Creating the Application","u":"/python-sdk/docs/getting-started/streaming","h":"#creating-the-application","p":193},{"i":202,"t":"Welcome to the Groundlight SDK installation guide. In this guide, you'll find step-by-step instructions on how to install and set up the Groundlight SDK on various platforms.","s":"Installation","u":"/python-sdk/docs/installation","h":"","p":201},{"i":204,"t":"Choose your platform from the list below and follow the instructions in the corresponding guide: Linux macOS Windows Raspberry Pi NVIDIA Jetson Linux with Monitoring Notification Server ESP32 Camera Device After completing the installation process for your platform, you'll be ready to start building visual applications using the Groundlight SDK.","s":"Platform-specific Installation Guides","u":"/python-sdk/docs/installation","h":"#platform-specific-installation-guides","p":201},{"i":207,"t":"With Groundlight's detectors, you can ask binary questions about images — i.e., the answer should be unambiguously \"YES\" or \"NO\". If you ask an ambiguous question, you may receive an \"UNSURE\" response. 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 \"UNSURE\") print(f\"The answer is {image_query.result.label}\") So, what makes a good question? Let's look at a few good ✅, moderate 🟡, and bad ❌ examples!","s":"Introduction","u":"/python-sdk/docs/getting-started/writing-queries","h":"#introduction","p":205},{"i":210,"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":205},{"i":212,"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":205},{"i":214,"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":205},{"i":216,"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":205},{"i":218,"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":205},{"i":220,"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":205},{"i":222,"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":221},{"i":224,"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)=n1​i=1∑n​1[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":221},{"i":226,"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∑k​fN,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":221},{"i":228,"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":221},{"i":230,"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":221},{"i":232,"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":221},{"i":234,"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":221},{"i":236,"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":221},{"i":238,"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":221},{"i":240,"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":221},{"i":242,"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^​⟶d​N(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":221},{"i":244,"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":221},{"i":246,"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":221},{"i":248,"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=1n​Ai​}≤∑i=1n​Pr(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":221},{"i":250,"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":221},{"i":252,"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/getting-started/dog-on-couch","h":"","p":251},{"i":254,"t":"Groundlight SDK with Python 3.7 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/getting-started/dog-on-couch","h":"#requirements","p":251},{"i":256,"t":"Ensure you have Python 3.7 or higher installed, and then install the Groundlight SDK and OpenCV library: pip install groundlight opencv-python pillow pyaudio","s":"Installation","u":"/python-sdk/docs/getting-started/dog-on-couch","h":"#installation","p":251},{"i":258,"t":"First, log in to the Groundlight application and get an API Token. Next, we'll write the Python script for the application. Import the required libraries: import time import cv2 from groundlight import Groundlight from PIL import Image import pyaudio import wave 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 Exception 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/getting-started/dog-on-couch","h":"#creating-the-application","p":251},{"i":260,"t":"This guide will help you install the Groundlight SDK on Linux. The Groundlight SDK requires Python 3.7 or higher.","s":"Installing on Linux","u":"/python-sdk/docs/installation/linux","h":"","p":259},{"i":262,"t":"Ensure that you have the following installed on your system: Python 3.7 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/linux","h":"#prerequisites","p":259},{"i":264,"t":"Assuming you have Python 3.7 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":259},{"i":266,"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":259},{"i":268,"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/linux","h":"#checking-groundlight-sdk-version","p":259},{"i":270,"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":259},{"i":272,"t":"To check your installed Python version, open a terminal and run: python --version If you see a version number starting with \"3.7\" or higher (e.g., \"3.7.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":259},{"i":274,"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":259},{"i":276,"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.8, 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.8 python3.8-distutils curl # Configure `python3` to run python3.8 by default sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 10 # Download and install pip3.8 curl https://bootstrap.pypa.io/get-pip.py > /tmp/get-pip.py sudo python3.8 /tmp/get-pip.py # Configure `pip3` to run pip3.8 sudo update-alternatives --install /usr/bin/pip3 pip3 $(which pip3.8) 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":259},{"i":278,"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 and Building Applications documentation pages.","s":"Ready to go!","u":"/python-sdk/docs/installation/linux","h":"#ready-to-go","p":259},{"i":280,"t":"This guide will help you install the Groundlight SDK on macOS. The Groundlight SDK requires Python 3.7 or higher.","s":"Installing on macOS","u":"/python-sdk/docs/installation/macos","h":"","p":279},{"i":282,"t":"Ensure that you have the following installed on your system: Python 3.7 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/macos","h":"#prerequisites","p":279},{"i":284,"t":"Assuming you have Python 3.7 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":279},{"i":286,"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":279},{"i":288,"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/macos","h":"#checking-groundlight-sdk-version","p":279},{"i":290,"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":279},{"i":292,"t":"To check your installed Python version, open a terminal and run: python --version If you see a version number starting with \"3.7\" or higher (e.g., \"3.7.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":279},{"i":294,"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":279},{"i":296,"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 and Building Applications documentation pages.","s":"Ready to go!","u":"/python-sdk/docs/installation/macos","h":"#ready-to-go","p":279},{"i":298,"t":"This guide will help you install the Groundlight SDK on NVIDIA Jetson devices. The Groundlight SDK requires Python 3.7 or higher.","s":"Installing on NVIDIA Jetson","u":"/python-sdk/docs/installation/nvidia-jetson","h":"","p":297},{"i":300,"t":"Ensure that you have the following installed on your NVIDIA Jetson: Python 3.7 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#prerequisites","p":297},{"i":302,"t":"Assuming you have Python 3.7 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":297},{"i":304,"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":297},{"i":306,"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":297},{"i":308,"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":297},{"i":310,"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 and [Building Applications","s":"Ready to go!","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#ready-to-go","p":297},{"i":313,"t":"The Groundlight 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":311},{"i":315,"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":311},{"i":317,"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":311},{"i":319,"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":311},{"i":321,"t":"This guide will help you install the Groundlight SDK on Raspberry Pi. The Groundlight SDK requires Python 3.7 or higher.","s":"Installing on Raspberry Pi","u":"/python-sdk/docs/installation/raspberry-pi","h":"","p":320},{"i":323,"t":"Ensure that you have the following installed on your Raspberry Pi: Python 3.7 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/raspberry-pi","h":"#prerequisites","p":320},{"i":325,"t":"Assuming you have Python 3.7 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":320},{"i":327,"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":320},{"i":329,"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":320},{"i":331,"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":320},{"i":333,"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 and Building Applications documentation pages.","s":"Ready to go!","u":"/python-sdk/docs/installation/raspberry-pi","h":"#ready-to-go","p":320},{"i":335,"t":"This guide will help you install the Groundlight SDK on Windows. The Groundlight SDK requires Python 3.7 or higher.","s":"Installing on Windows","u":"/python-sdk/docs/installation/windows","h":"","p":334},{"i":337,"t":"Ensure that you have the following installed on your system: Python 3.7 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/windows","h":"#prerequisites","p":334},{"i":339,"t":"Assuming you have Python 3.7 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":334},{"i":341,"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":334},{"i":343,"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":334},{"i":345,"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":334},{"i":347,"t":"To check your installed Python version, open a Command Prompt and run: python --version If you see a version number starting with \"3.7\" or higher (e.g., \"3.7.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":334},{"i":349,"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":334},{"i":351,"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 and Building Applications documentation pages.","s":"Ready to go!","u":"/python-sdk/docs/installation/windows","h":"#ready-to-go","p":334},{"i":353,"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/iot","h":"","p":352},{"i":355,"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/iot","h":"#easy-deployment","p":352},{"i":357,"t":"The tool supports the following notification options for your deployed detector: Email SMS (With Twilio) Slack","s":"Notification Options","u":"/python-sdk/docs/iot","h":"#notification-options","p":352},{"i":359,"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/iot","h":"#multiple-supported-boards","p":352},{"i":361,"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/iot","h":"#source-code","p":352},{"i":363,"t":"This 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":"Monitoring Notification Server","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"","p":362},{"i":365,"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/installation/monitoring-notification-server","h":"#prerequisites","p":362},{"i":367,"t":"Our Monitoring Notification Server is a server you can deploy anywhere to easily build Groundlight Detectors, and configure them to pull from custom image sources and post notifications. The Monitoring Notification Server has a simple web interface (depected below) that allows you to configure your detector(s), and a backend that runs on your device to pull images from your camera and post notifications.","s":"Using the Application","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#using-the-application","p":362},{"i":371,"t":"There are several ways to deploy the code: Using Docker Compose Using AWS Greengrass Using Kubernetes","s":"Running the server","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-the-server","p":362},{"i":373,"t":"Use the file docker-compose.yml. Run docker-compose up in the same directory as the docker-compose.yml file. If you're using Docker Compose v2, replace docker-compose with docker compose.","s":"Running with Docker Compose","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-with-docker-compose","p":362},{"i":375,"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. If you're using Docker Compose v2, replace docker-compose with docker compose.","s":"Running from Docker Compose on 32-bit ARM (armv7)","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-from-docker-compose-on-32-bit-arm-armv7","p":362},{"i":377,"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/installation/monitoring-notification-server","h":"#running-with-aws-greengrass","p":362},{"i":379,"t":"We recommend a minimal Kubernetes install like k3s. Use kubernetes.yaml manifest. Create a Kubernetes cluster and install kubectl on your machine. Run kubectl apply -f kubernetes.yaml in the same directory as the kubernetes.yaml file.","s":"Running with Kubernetes","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-with-kubernetes","p":362},{"i":381,"t":"Install Node.js and Python 3.8+. 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/installation/monitoring-notification-server","h":"#building-from-source","p":362}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2",[0,2.967,1,4.308,2,4.744,3,6.671,4,3.224,5,0.778,6,3.224,7,2.756,8,5.755,9,5.755,10,5.755,11,4.204,12,2.822,13,3.224,14,4.97,15,5.146,16,4.744,17,3.834,18,5.146,19,4.744,20,1.791,21,2.42,22,2.967,23,3.552,24,5.755,25,5.755,26,5.755,27,4.744,28,5.755,29,2.159,30,2.576,31,2.282]],["t/4",[3,4.159,20,1.448,21,1.956,22,2.398,31,1.845,32,1.684,33,3.237,34,2.686,35,4.652,36,3.592,37,4.159,38,3.398,39,3.398,40,4.652,41,3.099,42,2.565,43,2.24,44,4.652,45,4.652,46,3.834,47,3.834,48,2.398,49,4.652,50,4.14,51,4.652,52,3.398,53,1.776,54,4.652,55,2.338,56,3.099,57,4.652,58,4.652,59,4.652,60,2.774,61,2.038,62,4.652,63,1.918,64,1.881,65,4.652,66,3.592,67,3.398,68,4.652,69,4.159,70,4.159,71,6.127,72,4.159,73,5.33,74,6.467,75,6.467,76,6.467,77,4.652,78,4.652,79,4.652]],["t/6",[16,3.574,20,1.35,21,2.589,22,2.236,33,3.017,42,1.72,43,1.717,53,1.191,61,1.9,63,2.95,71,3.574,80,4.337,81,5.504,82,3.017,83,6.014,84,3.877,85,2.504,86,4.337,87,4.337,88,5.074,89,4.337,90,4.337,91,3.877,92,2.776,93,2.776,94,3.348,95,3.574,96,3.574,97,3.168,98,4.337,99,4.337,100,4.337,101,4.337,102,4.337,103,4.337,104,4.337,105,4.337,106,4.337,107,6.156,108,3.877,109,3.877,110,4.337,111,4.337,112,4.337,113,4.337,114,4.337,115,4.337,116,4.497,117,4.337,118,3.348,119,3.168,120,2.776,121,3.017,122,2.586,123,4.337,124,1.753,125,2.126,126,4.337,127,4.337,128,3.574,129,4.337,130,2.586,131,3.574,132,3.348,133,3.017]],["t/8",[0,2.292,17,2.962,20,1.95,21,1.87,22,2.292,42,1.763,43,1.24,46,3.665,55,2.234,61,2.746,63,2.583,64,1.797,71,5.164,83,4.838,91,5.602,96,3.665,97,3.248,116,3.248,120,2.846,121,3.094,134,5.602,135,3.248,136,4.326,137,4.833,138,3.248,139,6.265,140,3.433,141,2.08,142,5.602,143,4.446,144,5.602,145,4.446,146,3.975,147,3.433,148,4.446,149,2.962,150,4.446,151,3.248,152,2.567,153,2.354,154,4.446,155,4.446,156,1.668,157,3.665,158,4.446,159,3.975,160,3.665,161,4.446,162,4.446,163,3.665,164,4.446,165,3.665,166,3.975,167,2.651,168,4.446,169,2.744,170,3.433,171,3.433]],["t/10",[1,3.168,4,3.073,13,3.073,42,2.176,55,3.634,56,4.817,63,2.262,85,3.168,121,3.817,124,2.218,152,4.176,165,4.522,166,4.905,172,4.905,173,3.271,174,4.629,175,4.905,176,5.96,177,3.817,178,3.385,179,3.073,180,4.051,181,3.271,182,3.385,183,4.905,184,3.168,185,3.168,186,4.905,187,4.905,188,4.522,189,4.236,190,4.236,191,2.904,192,3.817,193,4.236,194,4.236]],["t/12",[0,1.979,7,1.838,13,3.158,31,1.523,42,2.649,43,1.071,60,3.362,61,2.471,83,5.158,84,3.433,85,2.217,93,2.458,94,4.353,96,3.165,119,2.805,124,2.279,137,2.558,151,2.805,156,1.44,173,2.29,174,2.458,177,2.672,178,2.369,189,2.965,190,2.965,194,2.965,195,2.089,196,3.84,197,3.165,198,3.433,199,3.84,200,4.647,201,3.433,202,3.609,203,2.369,204,3.433,205,2.672,206,3.84,207,2.805,208,4.353,209,2.558,210,2.672,211,2.672,212,3.84,213,3.433,214,6.681,215,3.433,216,3.84,217,3.057,218,3.756,219,3.84,220,2.965,221,3.433,222,3.84,223,2.764,224,2.965,225,3.84,226,2.458,227,3.165,228,2.458,229,2.29,230,3.433,231,3.433,232,2.965,233,3.433,234,2.965,235,3.433,236,3.84,237,3.433,238,3.84,239,3.433,240,2.151,241,3.433,242,3.84,243,3.433,244,3.84,245,2.965,246,3.433,247,3.84]],["t/14",[5,0.61,31,2.32,34,3.379,125,2.869,193,4.518,248,5.231,249,5.851,250,4.823,251,3.277,252,5.851,253,4.274,254,5.231,255,5.023,256,3.489,257,5.851,258,5.231,259,3.528,260,4.518,261,5.231,262,4.823,263,4.071,264,4.071,265,2.32,266,2.461,267,2.738,268,3.611,269,4.518,270,2.277,271,4.823,272,3.489,273,4.071,274,5.231]],["t/17",[5,0.591,6,3.172,19,4.667,34,3.27,55,2.846,61,2.481,124,2.289,230,5.063,245,4.372,263,3.94,275,2.998,276,4.667,277,4.667,278,3.625,279,5.663,280,4.263,281,3.082,282,5.663,283,5.663,284,4.136,285,4.136,286,4.136,287,5.063,288,5.663,289,2.919,290,4.372,291,5.663,292,5.663,293,4.667,294,4.667,295,5.063,296,2.711,297,4.667,298,4.667,299,5.063,300,5.663,301,2.919]],["t/19",[1,1.98,17,4.161,20,1.612,21,2.927,22,2.671,33,2.385,38,2.504,55,1.723,61,2.27,64,1.386,93,2.195,120,2.195,122,2.044,124,2.814,135,2.504,140,2.647,142,3.065,157,2.826,232,2.647,240,1.92,246,3.065,280,1.98,285,2.504,289,2.671,290,2.647,297,2.826,302,2.016,303,3.428,304,2.826,305,3.065,306,2.044,307,6.246,308,6.246,309,2.826,310,2.826,311,3.065,312,1.865,313,3.065,314,3.428,315,2.826,316,3.065,317,2.826,318,3.428,319,2.385,320,5.181,321,4.632,322,4.346,323,3.428,324,3.428,325,3.428,326,3.428,327,3.428,328,3.428,329,3.428,330,3.065,331,2.826,332,2.826,333,2.826,334,3.428,335,3.428,336,3.428,337,3.428,338,3.428,339,3.428,340,3.428,341,3.065,342,4.632,343,4.632,344,2.385,345,3.065,346,3.428,347,3.428,348,3.428,349,3.065,350,3.065,351,3.428,352,3.428,353,2.826,354,2.115,355,2.826,356,2.504,357,3.428,358,3.428,359,5.181,360,5.181,361,2.647,362,2.284,363,3.428,364,3.428,365,3.065,366,3.428,367,3.065,368,2.826,369,3.428]],["t/21",[1,1.637,6,1.588,7,1.357,17,1.888,20,0.882,21,1.192,31,1.124,32,1.619,33,1.972,34,1.637,39,2.07,42,1.124,43,0.79,55,1.424,61,1.242,70,2.534,83,4.858,85,1.637,92,1.814,116,2.07,118,2.188,124,2.544,135,5.938,137,2.98,146,2.534,152,1.637,156,1.063,169,1.749,174,1.814,181,1.69,185,1.637,192,1.972,202,1.814,209,1.888,211,1.972,234,2.188,240,1.588,281,3.424,289,2.306,296,1.357,297,2.336,299,2.534,310,2.336,311,2.534,316,2.534,321,2.534,322,1.972,342,2.534,343,2.534,355,2.336,356,3.267,370,2.834,371,2.834,372,2.834,373,2.834,374,2.188,375,2.834,376,2.834,377,2.834,378,2.534,379,2.07,380,2.188,381,4.473,382,2.336,383,2.834,384,2.834,385,2.834,386,4.473,387,2.834,388,2.336,389,1.814,390,2.834,391,3.999,392,2.834,393,1.269,394,2.336,395,2.534,396,2.834,397,1.542,398,2.834,399,2.834,400,2.534,401,2.188,402,2.534,403,1.749,404,2.834,405,2.336,406,2.336,407,2.834,408,1.888,409,2.534,410,3.999,411,2.834,412,2.534,413,4.473,414,2.834,415,2.834,416,2.834,417,2.834,418,1.814,419,2.07,420,2.336,421,1.972,422,2.07,423,2.834,424,2.834,425,2.336,426,2.834,427,2.336,428,1.542,429,1.461,430,1.972,431,2.834,432,2.834,433,2.834,434,1.749,435,2.336,436,2.534,437,2.834,438,1.972,439,2.534,440,2.534,441,2.834,442,2.834,443,2.534,444,1.588,445,2.834,446,2.834,447,2.834,448,2.834,449,2.188,450,2.534,451,2.834,452,1.5,453,2.336,454,2.834]],["t/23",[4,2.713,5,0.792,20,1.507,22,3.428,23,2.989,29,1.817,31,1.921,42,1.921,50,3.101,56,3.227,61,2.914,85,2.797,181,2.889,185,2.797,255,3.227,264,3.371,265,2.637,266,2.797,275,4.02,301,2.497,306,2.889,322,3.371,349,4.331,379,3.538,434,2.989,455,3.74,456,4.844,457,4.844,458,2.889,459,3.227,460,4.331,461,4.844,462,3.993,463,3.993,464,3.74,465,2.889,466,2.989,467,3.101,468,2.989,469,4.844,470,3.538,471,2.713,472,4.331,473,2.797,474,3.538,475,2.989,476,2.123,477,3.538,478,2.989,479,3.993,480,4.844]],["t/25",[0,1.969,1,3.846,5,0.766,22,3.433,27,3.148,36,2.948,56,3.741,61,1.673,72,3.414,124,1.544,136,2.277,167,2.277,169,2.356,179,2.139,181,3.971,184,2.205,217,1.747,263,2.657,265,1.514,266,1.606,275,2.021,296,1.828,306,2.277,312,2.078,397,2.078,406,3.148,428,2.078,429,1.969,434,2.356,463,4.628,473,2.205,474,2.789,476,2.461,477,4.865,478,3.465,481,2.948,482,3.819,483,2.657,484,3.148,485,3.819,486,2.445,487,4.102,488,3.819,489,4.628,490,3.819,491,3.148,492,2.445,493,2.948,494,3.414,495,5.02,496,3.819,497,2.789,498,3.595,499,3.414,500,2.948,501,3.819,502,2.657,503,3.414,504,3.819,505,2.461,506,2.139,507,3.414,508,3.819,509,3.819,510,3.414,511,3.819,512,3.819,513,2.789,514,3.819,515,3.819,516,3.819,517,3.819,518,2.445,519,1.098,520,3.819,521,3.148,522,3.819,523,2.789]],["t/27",[5,0.8,20,1.133,21,1.531,23,2.247,42,2.568,43,2.387,61,1.595,63,1.501,64,2.9,85,3.13,109,3.255,124,2.191,125,1.785,181,2.171,184,2.102,259,1.704,262,3.001,265,2.15,266,1.531,267,1.704,275,1.927,301,1.877,313,3.255,322,4.506,452,1.927,458,2.171,462,3.001,471,3.627,474,2.66,475,2.247,483,2.533,493,2.811,505,1.595,513,2.66,524,3.255,525,2.66,526,1,527,3.641,528,1.391,529,2.66,530,2.811,531,3.001,532,2.247,533,3.255,534,2.425,535,3.641,536,3.001,537,2.66,538,3.641,539,3.641,540,3.641,541,3.641,542,3.001,543,2.425,544,3.641,545,3.255,546,1.704,547,3.641,548,2.171,549,3.641,550,3.641,551,2.811,552,3.641,553,1.785,554,3.641,555,3.001,556,3.255,557,3.641,558,2.811,559,3.641,560,3.641,561,3.641,562,2.811,563,2.533,564,1.83,565,3.641,566,2.171,567,3.641,568,2.533,569,2.66,570,3.641,571,3.255,572,3.255,573,3.641]],["t/29",[0,2.785,5,0.747,21,2.272,32,2.905,125,3.51,156,2.026,169,3.333,195,2.94,285,3.946,301,2.785,306,3.221,444,3.026,458,4.268,467,3.458,492,3.458,506,3.026,523,3.946,526,1.484,574,6.399,575,4.171,576,7.158,577,4.829,578,4.452,579,4.829,580,2.418,581,3.946,582,4.829,583,4.452,584,4.829,585,5.402,586,4.829,587,3.333,588,4.171,589,1.643,590,4.452,591,3.458]],["t/31",[5,0.895,12,3.046,34,3.587,125,3.046,156,2.33,185,3.587,269,4.797,271,5.121,273,4.323,274,5.554,455,4.797,592,6.213,593,5.554,594,4.323,595,4.797,596,6.213,597,6.213,598,3.705,599,6.213,600,4.538,601,5.121,602,4.797,603,5.554,604,4.323,605,3.587]],["t/33",[5,0.498,23,2.949,32,1.729,53,1.312,211,3.325,220,3.689,240,2.677,265,2.613,266,2.771,296,2.288,379,3.49,526,1.312,605,2.759,606,4.778,607,2.949,608,3.689,609,3.059,610,2.759,611,3.325,612,3.689,613,3.938,614,3.183,615,4.778,616,4.272,617,4.272,618,4.778,619,4.778,620,3.938,621,3.059,622,3.689,623,3.183,624,4.778,625,4.272,626,4.272,627,4.778,628,4.778,629,4.272,630,4.217,631,3.059,632,4.778,633,4.272,634,5.261,635,5.43,636,3.938,637,4.272,638,4.217,639,3.325,640,5.89,641,4.778,642,4.778,643,3.938]],["t/35",[7,1.967,30,1.839,43,2.412,46,3.387,53,1.128,63,1.694,64,3.073,82,2.859,185,2.373,268,2.535,296,1.967,306,2.45,322,2.859,362,2.737,418,2.63,458,2.45,572,3.673,623,2.737,630,3.791,637,3.673,638,2.63,639,2.859,640,3.673,643,3.387,644,4.446,645,5.724,646,4.109,647,3.387,648,4.882,649,5.295,650,3.387,651,2.859,652,4.326,653,4.573,654,4.882,655,3.673,656,5.923,657,5.724,658,3.673,659,4.109,660,5.295,661,1.57,662,3.387,663,2.859,664,3.673,665,4.109,666,3.673,667,4.109,668,4.109,669,4.109,670,4.109,671,4.109,672,4.109,673,4.109,674,4.109,675,3.673,676,2.373,677,2.859,678,2.859,679,3.673,680,2.737,681,3.172]],["t/37",[43,1.256,47,3.712,152,2.6,220,3.477,362,3,403,3.901,532,2.779,634,4.508,639,3.133,643,3.712,648,3.712,651,3.133,652,4.618,653,4.881,654,3.712,657,6.021,660,4.026,663,5.083,664,4.026,682,4.618,683,2.779,684,4.026,685,3.133,686,5.211,687,5.211,688,2.45,689,4.026,690,6.322,691,3.712,692,6.322,693,3.477,694,4.026,695,4.503,696,4.503,697,4.503,698,3.133,699,4.503,700,2.522,701,6.322,702,4.503,703,4.026,704,4.026,705,4.503,706,4.503,707,4.503,708,4.026,709,3.712,710,4.503,711,3.477,712,6.322,713,2.883,714,4.503,715,4.503,716,4.503]],["t/39",[29,1.597,30,1.906,31,1.689,43,2.154,50,2.726,63,1.755,64,1.721,95,3.509,120,2.726,153,2.254,191,2.254,268,2.627,301,2.195,306,2.539,429,2.195,444,2.385,473,2.459,532,2.627,546,1.992,555,3.509,607,2.627,611,2.963,623,2.836,630,3.89,634,4.767,635,3.509,639,4.228,644,2.726,645,5.008,653,3.287,661,1.627,662,3.509,676,2.459,677,2.963,678,2.963,679,3.807,684,3.807,685,2.963,686,3.509,687,3.509,694,5.432,717,7.726,718,5.432,719,4.258,720,4.258,721,2.836,722,4.258,723,3.623,724,4.258,725,3.807,726,3.807,727,4.258,728,4.258,729,4.258,730,3.287,731,4.258,732,4.258,733,4.258,734,4.258,735,4.258,736,3.807,737,4.258,738,4.258,739,4.258]],["t/41",[7,2.17,20,1.41,43,2.417,53,1.245,63,1.868,191,2.399,198,4.052,211,4.419,272,2.703,356,3.311,533,4.052,551,3.499,564,2.278,609,2.901,630,2.901,633,4.052,644,5.085,645,3.735,654,3.735,657,3.735,661,1.731,662,3.735,675,4.052,677,3.153,708,4.052,740,3.735,741,6.547,742,4.903,743,4.532,744,3.735,745,4.052,746,4.532,747,4.532,748,6.35,749,3.311,750,3.735,751,3.019,752,4.639,753,4.052,754,4.532,755,4.052,756,3.735,757,4.532,758,4.532,759,4.532,760,4.532,761,4.532,762,4.532,763,2.901,764,4.532,765,4.532,766,4.532,767,4.532,768,3.499]],["t/43",[23,3.672,53,1.634,64,2.405,152,3.436,211,4.14,255,3.963,268,3.672,435,4.904,458,3.548,519,1.711,548,3.548,623,3.963,630,4.88,631,3.809,682,4.346,740,6.283,741,4.904,742,4.594,769,5.32,770,5.32,771,4.14,772,2.663,773,5.95,774,5.32,775,4.346,776,4.904,777,4.904,778,3.963,779,5.95,780,5.95]],["t/45",[5,0.829,7,1.901,31,2.291,32,2.091,39,2.9,42,1.574,64,1.605,125,1.946,138,2.9,152,2.292,259,1.857,265,2.291,266,2.429,267,1.857,270,1.545,272,2.367,317,3.272,354,3.565,397,2.16,492,4.36,519,1.142,529,2.9,581,2.9,589,0.911,751,2.644,781,5.775,782,2.644,783,3.549,784,2.9,785,4.02,786,3.848,787,6.089,788,3.549,789,3.549,790,3.065,791,2.762,792,2.541,793,2.541,794,2.644,795,3.549,796,3.549,797,1.636,798,2.9,799,3.549,800,3.549,801,3.549,802,3.272,803,3.549,804,3.549,805,2.9,806,3.549,807,5.165,808,3.065,809,3.549,810,2.45,811,3.272,812,3.272,813,3.272,814,3.065,815,5.165,816,2.9,817,3.065,818,2.9,819,3.549,820,3.065,821,2.762,822,2.644,823,3.549,824,2.9,825,3.272,826,3.549]],["t/47",[5,0.784,7,1.922,31,2.31,32,2.108,39,2.933,42,1.592,64,1.623,125,1.969,138,2.933,152,2.318,259,1.879,265,2.31,266,2.449,267,1.879,270,1.562,272,2.394,317,3.309,354,3.594,397,2.185,492,3.729,519,1.155,529,2.933,581,2.933,589,0.922,751,2.674,781,5.806,782,2.674,783,3.589,784,2.933,785,4.053,786,3.88,787,6.128,788,3.589,789,3.589,790,3.1,791,2.794,792,2.57,793,2.57,794,2.674,795,3.589,796,3.589,797,1.655,798,2.933,799,3.589,800,3.589,801,3.589,802,3.309,803,3.589,804,3.589,805,2.933,806,3.589,807,5.207,808,3.1,809,3.589,810,2.478,811,3.309,812,3.309,813,3.309,814,3.1,815,5.207,816,2.933,817,3.1,818,2.933,819,3.589,820,3.1,821,2.794,822,2.674,823,3.589,824,2.933,825,3.309,826,3.589]],["t/49",[2,3.427,5,0.729,11,5.106,12,2.929,31,1.649,32,1.505,67,4.363,133,2.893,185,2.401,240,2.329,270,2.324,379,3.037,519,1.196,580,1.861,634,2.565,713,2.661,781,3.21,782,2.769,784,3.037,785,5.317,786,4.657,792,3.824,793,3.824,821,2.893,827,3.717,828,4.923,829,3.717,830,3.717,831,2.661,832,2.893,833,3.21,834,3.427,835,4.157,836,2.329,837,3.21,838,5.973,839,4.157,840,4.157,841,4.612,842,5.973,843,5.106,844,2.929,845,3.717,846,4.157,847,6.25,848,4.157,849,4.157,850,4.157,851,3.21,852,3.717,853,3.21,854,3.427,855,4.157,856,4.157,857,3.717,858,4.157,859,3.717,860,4.157,861,3.717,862,4.157]],["t/51",[5,0.733,6,2.614,11,2.185,20,0.931,23,1.846,32,1.689,64,1.886,66,2.309,67,3.408,133,2.081,184,1.727,191,1.583,210,2.081,259,2.684,267,2.684,270,1.164,272,1.784,281,1.628,285,2.185,296,1.432,319,2.081,354,2.879,419,2.185,429,1.542,452,1.583,459,1.992,475,1.846,492,2.987,497,2.185,534,3.108,545,2.674,546,2.183,581,3.408,587,1.846,595,3.603,605,1.727,607,1.846,634,1.846,650,2.465,682,4.191,683,1.846,786,3.108,792,4.978,793,4.766,797,2.671,811,3.846,814,3.603,817,3.603,818,3.408,820,2.309,821,4.509,832,2.081,836,1.675,843,4.734,844,1.467,863,2.465,864,2.309,865,2.674,866,2.309,867,2.991,868,4.171,869,2.991,870,2.991,871,2.674,872,2.185,873,1.727,874,1.992,875,2.309,876,2.991,877,2.991,878,4.171,879,2.991,880,2.991,881,2.674,882,2.465,883,2.674,884,2.991,885,2.674,886,4.666,887,2.674,888,2.309,889,1.727,890,3.846,891,2.991,892,1.284,893,3.408,894,4.171,895,2.991,896,2.185,897,1.915,898,2.991,899,2.309,900,2.991,901,2.465,902,2.185,903,2.991,904,2.991,905,2.991]],["t/53",[5,0.517,13,1.067,14,1.269,17,1.269,20,1.997,21,2.839,30,1.882,37,1.704,38,1.392,41,1.269,42,1.281,56,1.269,61,0.835,64,1.306,66,1.471,67,3.618,93,1.22,124,1.306,125,0.934,130,1.136,133,1.326,141,0.892,156,0.715,181,1.136,182,1.176,184,2.428,191,1.71,200,1.571,217,1.478,259,0.892,267,0.892,270,2.344,272,1.926,281,3.017,293,1.571,332,1.571,344,1.326,353,1.571,354,1.994,388,1.571,389,1.22,402,1.704,428,1.037,434,2.595,449,2.494,476,1.416,493,1.471,502,1.326,519,0.929,530,1.471,534,1.269,536,1.571,589,0.438,607,1.176,610,1.1,634,1.994,652,2.36,683,1.176,730,2.494,751,1.269,756,1.571,785,1.326,786,4.497,790,1.471,792,1.22,793,1.22,797,1.734,817,5.213,818,3.072,820,1.471,821,4.466,829,1.704,832,2.926,843,4.049,844,0.934,865,1.704,868,1.704,871,1.704,872,1.392,875,3.247,878,1.704,881,1.704,885,1.704,888,2.494,889,3.201,890,4.082,893,4.049,906,2.888,907,2.663,908,1.704,909,1.906,910,1.906,911,1.704,912,1.571,913,1.906,914,1.906,915,1.906,916,1.704,917,1.571,918,1.906,919,1.906,920,1.471,921,1.906,922,1.906,923,5.543,924,2.36,925,1.704,926,1.326,927,1.471,928,1.571,929,1.704,930,1.906,931,1.906,932,1.906,933,1.704,934,1.704,935,2.888,936,3.231,937,1.704,938,3.618,939,1.906,940,2.888,941,1.906,942,1.392,943,1.906,944,1.326,945,2.888,946,1.571,947,1.906,948,3.466,949,1.906,950,2.663,951,1.906,952,1.269,953,1.906,954,1.906,955,1.906,956,1.571,957,4.205,958,2.888,959,1.704,960,2.248,961,1.326,962,1.704,963,1.392,964,1.704,965,3.76,966,2.888,967,1.704,968,1.906,969,1.471,970,1.906,971,1.571,972,1.704,973,1.704,974,1.176,975,1.906,976,1.392,977,1.571,978,1.906,979,1.704,980,1.571,981,1.471,982,2.888,983,1.571,984,1.704,985,1.704]],["t/55",[4,0.945,5,0.176,7,0.807,11,1.232,12,1.427,20,0.525,21,0.709,32,1.389,43,1.437,52,1.232,60,1.006,66,1.302,67,2.804,119,1.232,130,1.006,141,0.789,149,1.123,160,1.39,163,1.39,167,1.006,173,1.006,182,1.041,184,2.976,191,1.54,192,1.173,195,1.584,201,1.508,239,1.508,265,0.669,266,0.709,270,2.351,275,0.893,280,0.974,285,1.232,286,1.232,296,1.393,298,2.398,301,0.869,304,1.39,306,1.006,333,1.39,345,1.508,354,1.796,374,1.302,391,1.508,395,1.508,405,1.39,406,4.248,419,1.232,439,1.508,476,2.001,524,1.508,534,1.938,579,1.508,587,1.041,595,1.302,601,1.39,651,1.173,661,1.112,676,0.974,682,1.232,725,1.508,751,1.123,782,1.123,784,3.336,785,3.922,786,3.755,792,2.923,793,2.457,797,1.2,802,1.39,805,4.663,816,1.232,818,1.232,821,4.983,828,1.39,830,1.508,837,1.302,843,2.126,844,1.427,845,1.508,847,4.083,875,2.247,887,2.602,888,4.929,889,4.353,893,2.804,901,1.39,917,1.39,928,1.39,934,1.508,946,2.398,958,1.508,959,2.602,960,3.586,962,1.508,963,1.232,964,1.508,974,1.796,982,4.083,983,3.164,984,3.432,985,3.432,986,1.686,987,1.686,988,1.686,989,1.39,990,2.247,991,1.39,992,1.508,993,1.686,994,1.39,995,1.508,996,1.123,997,2.398,998,1.686,999,1.686,1000,1.686,1001,2.804,1002,1.686,1003,2.398,1004,1.686,1005,1.508,1006,1.508,1007,1.232,1008,1.508,1009,1.686,1010,2.91,1011,1.686,1012,1.686,1013,1.508,1014,1.686,1015,1.686,1016,2.91,1017,1.686,1018,1.686,1019,1.686,1020,1.508,1021,1.686,1022,1.224,1023,1.686,1024,1.686,1025,2.804,1026,1.686,1027,2.91,1028,3.838,1029,1.686,1030,1.686,1031,2.91,1032,2.91,1033,1.686,1034,1.08,1035,1.686,1036,2.91,1037,1.686,1038,1.686,1039,1.686,1040,1.686,1041,2.126,1042,1.508,1043,1.508,1044,1.686,1045,1.508,1046,3.838,1047,4.248,1048,2.602,1049,1.123,1050,1.39,1051,1.686,1052,1.686,1053,0.974,1054,2.398,1055,1.508,1056,1.686,1057,1.686,1058,2.91,1059,1.686,1060,1.686,1061,1.686,1062,1.686,1063,1.686,1064,1.508,1065,1.508,1066,1.686,1067,1.686,1068,1.686,1069,1.508,1070,1.302,1071,1.686,1072,1.508,1073,1.508,1074,1.686]],["t/57",[4,3.084,5,0.388,13,2.083,20,2.04,30,1.664,31,1.474,32,1.993,38,2.716,41,2.477,60,2.217,63,1.533,141,1.74,152,3.179,180,2.083,184,3.179,207,2.716,217,1.701,224,2.871,301,1.917,304,3.064,444,3.084,459,2.477,460,3.324,473,2.147,476,1.629,534,2.477,583,3.064,591,2.38,623,2.477,651,2.587,680,2.477,784,2.716,785,3.831,786,3.667,792,2.38,793,2.38,822,2.477,841,4.251,843,5.294,844,1.823,888,2.871,889,3.786,890,7.097,892,2.363,893,4.022,897,2.38,937,3.324,965,3.324,966,3.324,974,2.294,976,2.716,977,3.064,979,3.324,980,3.064,981,2.871,1075,3.718,1076,2.147,1077,3.718,1078,5.506,1079,2.587,1080,3.324,1081,3.064,1082,3.718,1083,3.718,1084,3.718,1085,3.718,1086,3.718,1087,3.064,1088,3.718,1089,3.064,1090,3.718,1091,5.506,1092,3.718,1093,3.324,1094,3.718,1095,3.718,1096,3.324]],["t/59",[5,0.792,20,2.07,32,1.753,94,3.74,124,2.688,133,4.627,171,3.74,184,2.797,270,2.955,301,2.497,309,3.993,368,3.993,405,3.993,471,2.713,473,2.797,493,3.74,622,3.74,630,3.101,741,5.481,742,5.135,752,3.538,772,2.168,831,3.101,896,3.538,950,3.993,952,3.227,981,3.74,989,3.993,1054,3.993,1072,4.331,1097,4.844,1098,3.74,1099,4.844,1100,6.65,1101,4.331,1102,3.538,1103,3.993,1104,4.331,1105,4.844,1106,4.331,1107,4.844,1108,4.844,1109,4.844,1110,4.844,1111,4.844,1112,4.844,1113,4.844,1114,4.844,1115,4.844]],["t/61",[5,0.516,31,1.962,34,2.856,119,3.613,125,2.425,180,2.771,195,2.692,245,3.819,255,3.295,293,4.077,301,2.55,421,3.442,471,2.771,476,2.167,491,4.077,492,3.166,518,4.318,578,4.077,580,2.214,581,3.613,776,4.077,777,4.077,778,3.295,781,3.819,790,3.819,792,4.318,793,3.166,828,4.077,831,3.166,928,4.077,1073,4.422,1116,4.946,1117,4.422,1118,4.946,1119,3.819,1120,4.946,1121,4.946,1122,4.946,1123,4.946,1124,4.946,1125,3.442,1126,3.819,1127,4.946,1128,3.613,1129,4.946,1130,4.946,1131,4.946,1132,4.946,1133,4.946,1134,4.946,1135,4.422,1136,4.946,1137,4.946,1138,4.946]],["t/63",[4,3.942,5,0.439,7,2.014,20,1.875,29,1.578,31,1.668,48,2.169,53,1.155,124,1.701,160,3.467,232,3.248,250,3.467,259,3.805,260,3.248,265,3.047,266,3.231,267,3.595,270,1.637,389,3.856,393,1.883,429,2.169,453,3.467,462,3.467,463,3.467,464,3.248,470,3.073,476,1.843,481,3.248,543,2.802,546,1.968,548,2.509,605,2.429,614,2.802,723,2.509,944,2.927,1049,2.802,1139,4.207,1140,4.207,1141,4.207,1142,4.207,1143,4.207,1144,4.207,1145,4.207,1146,4.207,1147,3.761,1148,4.207,1149,4.207,1150,4.207,1151,4.207,1152,4.207,1153,4.4,1154,3.467,1155,4.207,1156,4.207,1157,3.467,1158,2.693,1159,1.47,1160,3.467,1161,3.761,1162,4.207,1163,3.761,1164,4.207,1165,4.207]],["t/65",[5,0.664,20,2.33,29,0.919,30,1.096,31,1.578,32,1.44,48,1.263,53,1.589,108,2.19,124,1.609,131,3.28,136,2.373,152,1.414,178,1.512,180,1.372,203,1.512,251,1.372,259,3.622,260,1.891,265,1.578,266,1.674,267,3.363,289,1.263,296,1.173,312,1.333,356,1.789,362,2.651,425,2.019,427,2.019,455,1.891,473,1.414,476,1.073,483,1.704,486,3.705,498,1.568,526,1.38,528,1.52,587,1.512,589,0.914,598,2.373,611,1.704,621,1.568,626,2.19,630,1.568,647,2.019,676,1.414,677,1.704,718,2.19,723,1.461,744,3.28,770,2.19,844,1.201,889,1.414,963,1.789,969,1.891,1022,1.674,1069,2.19,1076,1.414,1080,3.558,1126,1.891,1153,2.907,1158,1.568,1160,3.28,1163,2.19,1166,3.348,1167,2.45,1168,3.558,1169,1.704,1170,2.19,1171,2.19,1172,2.19,1173,2.45,1174,2.45,1175,2.019,1176,3.28,1177,2.651,1178,1.414,1179,2.45,1180,2.45,1181,1.632,1182,2.45,1183,1.704,1184,2.019,1185,1.461,1186,1.891,1187,3.98,1188,1.891,1189,2.45,1190,2.019,1191,2.45,1192,2.45,1193,1.632,1194,1.704,1195,2.45,1196,2.45,1197,2.019,1198,2.45,1199,1.891,1200,1.201,1201,2.45,1202,2.45,1203,2.45,1204,2.19,1205,5.027,1206,3.28,1207,3.98,1208,5.174,1209,2.019,1210,5.174,1211,3.98,1212,3.881,1213,2.45,1214,2.019,1215,2.019,1216,2.19,1217,2.19,1218,2.19,1219,2.19,1220,5.174,1221,3.98,1222,1.704,1223,2.019,1224,2.19,1225,2.45,1226,2.45,1227,2.19,1228,1.891,1229,2.45,1230,2.45]],["t/67",[20,1.655,30,1.589,31,1.407,33,2.47,53,1.461,55,1.784,122,2.116,173,2.116,197,2.925,205,4.438,208,2.74,209,2.364,259,2.984,267,2.984,275,1.879,278,3.405,312,1.931,378,3.173,484,2.925,502,2.47,505,1.555,518,2.272,548,3.171,590,2.925,610,2.049,647,2.925,651,2.47,711,2.74,721,2.364,782,2.364,794,2.364,836,1.988,853,2.74,866,2.74,997,4.384,1050,2.925,1053,3.071,1079,3.701,1153,3.885,1160,2.925,1166,2.364,1168,3.173,1170,3.173,1176,2.925,1181,2.364,1185,2.116,1217,3.173,1218,5.702,1219,6.333,1231,5.318,1232,3.173,1233,3.549,1234,3.549,1235,2.925,1236,6.254,1237,3.549,1238,3.173,1239,3.173,1240,2.593,1241,3.549,1242,3.549,1243,3.549,1244,4.755,1245,5.318,1246,5.318,1247,3.549,1248,3.549,1249,3.549,1250,3.549,1251,3.173,1252,3.173,1253,3.173,1254,3.173,1255,3.549,1256,3.549,1257,3.173,1258,3.173,1259,4.384,1260,3.549,1261,3.549,1262,3.549,1263,3.549,1264,3.173,1265,3.549]],["t/69",[0,2.131,1,2.386,5,0.727,20,1.286,21,2.501,30,1.85,31,2.359,147,4.592,156,1.55,173,2.464,255,2.753,256,2.464,259,1.934,265,1.639,266,1.738,267,2.783,270,2.315,278,2.646,420,3.406,421,2.876,422,3.019,465,2.464,466,2.55,470,3.019,471,2.315,498,3.807,505,1.811,580,1.85,594,4.848,604,2.876,607,2.55,610,2.386,844,2.026,873,2.386,889,2.386,892,1.774,1022,1.738,1050,3.406,1153,3.019,1185,2.464,1208,3.695,1210,5.317,1212,3.191,1220,6.813,1222,2.876,1240,3.019,1254,3.695,1264,3.695,1266,4.133,1267,1.396,1268,3.406,1269,4.133,1270,5.948,1271,5.317,1272,5.317,1273,4.133,1274,3.695,1275,4.133,1276,4.133,1277,4.133,1278,3.695,1279,4.133,1280,3.695,1281,2.386,1282,3.695,1283,5.948]],["t/71",[5,0.626,31,2.38,34,3.465,125,2.942,251,3.361,254,5.365,255,5.105,256,3.578,258,5.365,259,3.586,260,4.633,261,5.365,262,4.946,263,4.175,264,4.175,265,3.039,266,3.223,267,2.808,268,3.703,269,4.633,270,2.335,271,4.946,452,3.177,778,3.997,1282,6.852,1284,6.001]],["t/74",[5,0.841,32,1.97,53,1.495,85,3.143,116,3.976,137,3.626,202,3.485,245,4.203,264,3.788,265,2.159,266,2.289,301,2.806,354,3.359,393,2.437,465,3.246,466,3.359,497,3.976,498,4.605,513,3.976,519,1.566,546,3.77,580,2.437,605,3.143,622,4.203,629,4.867,678,3.788,742,4.203,771,5.006,916,4.867,1223,4.487,1285,3.246,1286,3.976,1287,3.788,1288,3.359,1289,5.444,1290,4.867,1291,4.867]],["t/76",[5,0.779,179,4.181,312,4.062,546,4.1,622,5.764,1288,4.606,1292,6.153]],["t/78",[5,0.857,6,3.541,13,1.958,23,2.157,32,1.265,53,0.96,124,2.126,125,1.714,136,3.136,141,1.636,182,2.157,195,1.903,217,2.406,220,2.699,223,1.714,264,2.433,265,2.085,266,2.211,277,2.882,278,2.238,281,3.44,302,1.361,428,1.903,452,2.784,459,2.329,465,3.136,466,3.245,475,2.157,483,2.433,497,2.554,498,2.238,519,1.818,525,3.841,546,3.706,586,3.126,588,4.88,614,3.503,749,2.554,771,3.659,822,2.329,844,1.714,944,2.433,974,2.157,1001,2.554,1125,2.433,1128,4.617,1172,3.126,1186,2.699,1252,3.126,1285,2.085,1288,2.157,1290,3.126,1293,3.496,1294,2.554,1295,3.496,1296,3.496,1297,3.496,1298,2.238,1299,2.554,1300,3.126,1301,3.496,1302,2.329,1303,2.882,1304,4.06,1305,2.882,1306,3.503,1307,3.496,1308,3.126,1309,3.496,1310,4.701,1311,2.882,1312,2.882,1313,3.126,1314,3.496,1315,2.699,1316,3.126,1317,3.126,1318,2.699,1319,2.433,1320,3.496]],["t/80",[5,0.747,20,2.227,47,4.452,63,2.227,64,2.184,130,3.221,141,2.527,182,4.417,281,4.368,301,2.785,344,3.759,389,3.458,418,3.458,429,4.406,513,3.946,519,1.554,683,3.333,832,3.759,844,2.649,875,5.526,924,3.946,926,5.586,927,5.526,994,4.452,1216,4.829,1310,4.829,1321,3.759,1322,5.402,1323,4.829,1324,5.402,1325,4.452,1326,4.452]],["t/82",[5,0.754,7,1.523,20,1.523,21,2.508,29,1.193,42,1.261,43,2.397,53,1.344,61,1.394,63,1.311,64,2.411,119,2.323,120,2.036,167,3.993,272,2.918,281,1.731,397,1.731,429,3.727,476,2.144,519,1.407,526,0.873,532,1.962,551,2.455,564,1.598,566,1.896,568,2.213,571,2.843,589,0.73,591,2.036,598,1.896,604,2.213,644,3.132,661,2.278,677,2.213,678,2.213,680,2.118,763,2.036,794,3.259,797,1.311,841,2.455,924,2.323,925,5.332,926,4.659,927,3.778,952,2.118,956,2.621,971,2.621,990,2.455,1053,1.836,1079,2.213,1103,2.621,1126,2.455,1128,3.574,1267,1.074,1311,2.621,1321,2.213,1327,4.033,1328,3.18,1329,2.843,1330,3.18,1331,3.18,1332,2.621,1333,3.18,1334,3.18,1335,3.18,1336,3.18,1337,3.18,1338,3.18,1339,3.18,1340,3.18,1341,5.332,1342,2.843,1343,2.843,1344,3.18,1345,4.893,1346,2.455,1347,4.375,1348,2.621,1349,2.621,1350,2.621,1351,2.455,1352,2.118,1353,2.843,1354,2.843,1355,2.843,1356,2.455,1357,2.843,1358,2.843,1359,2.213,1360,2.843]],["t/84",[5,0.739,20,2.205,21,2.682,29,1.331,31,1.407,42,1.407,43,2.59,53,0.975,55,1.784,63,1.463,135,2.593,141,3.55,147,4.925,167,3.803,182,2.19,270,2.953,272,2.116,281,1.931,389,2.272,429,3.288,452,1.879,484,4.384,519,1.021,526,0.975,562,2.74,566,2.116,589,0.815,661,1.356,763,3.405,853,2.74,927,4.106,956,2.925,961,2.47,972,3.173,996,2.364,1053,3.071,1267,1.199,1312,4.384,1325,4.384,1327,2.925,1341,3.173,1343,3.173,1348,2.925,1349,2.925,1361,2.925,1362,3.173,1363,3.549,1364,3.549,1365,2.74,1366,6.378,1367,3.549,1368,7.084,1369,3.549,1370,2.593,1371,6.378,1372,5.257,1373,6.378,1374,5.318,1375,3.549]],["t/86",[5,0.881,7,1.819,20,2.279,21,3.551,42,1.506,43,2.599,135,4.086,156,1.425,167,5.274,180,2.128,203,3.451,397,2.067,519,1.092,566,3.959,568,2.643,580,1.7,591,2.431,598,2.265,661,2.137,685,2.643,763,2.431,797,1.566,920,4.318,926,2.643,948,3.131,990,2.933,1128,4.086,1311,4.61,1312,5.472,1342,3.396,1348,3.131,1349,3.131,1357,3.396,1370,4.849,1376,3.131,1377,3.798,1378,3.798,1379,4.61,1380,5.593,1381,3.798,1382,3.131,1383,3.798,1384,3.396,1385,2.265,1386,3.798,1387,2.933,1388,3.798,1389,3.798,1390,3.798,1391,3.798]],["t/88",[136,5.29,171,5.161,181,3.986,256,3.986,486,4.279,528,2.554,607,4.125,721,4.453,1166,4.453,1185,3.986,1267,2.258,1304,5.161,1392,5.161,1393,6.685,1394,5.51,1395,6.685,1396,6.685]],["t/90",[5,0.724,20,2.365,21,1.728,30,1.839,36,4.573,39,3.001,53,1.627,56,2.737,118,3.172,122,2.45,128,3.387,136,5.46,180,2.301,259,1.922,267,1.922,270,1.599,281,3.779,397,3.223,486,2.63,489,6.265,589,0.943,620,3.387,676,2.373,805,3.001,824,3.001,844,2.015,873,2.373,907,3.387,938,3.001,942,3.001,1034,2.63,1181,4.626,1227,3.673,1274,3.673,1299,3.001,1397,7.504,1398,2.63,1399,4.109,1400,2.737,1401,2.737,1402,4.109,1403,4.109,1404,4.109,1405,4.109,1406,4.109,1407,3.673,1408,3.673,1409,4.109,1410,3.673,1411,3.673,1412,5.923,1413,4.109,1414,4.109,1415,4.109,1416,4.109]],["t/92",[5,0.946,43,1.764,53,1.737,136,3.771,470,4.62,526,1.737,553,3.101,589,1.452,661,2.416,1193,4.213,1299,4.62,1372,5.213,1397,7.084,1407,5.654,1417,5.654,1418,6.324,1419,6.324,1420,5.213,1421,5.654,1422,6.324,1423,6.324]],["t/94",[124,2.895,296,3.429,428,3.897,529,5.231,589,1.644,1178,4.135,1183,4.983,1385,4.27,1424,7.161,1425,5.902,1426,7.161,1427,5.529]],["t/96",[5,0.931,20,1.884,43,2.364,63,2.495,124,2.447,553,2.968,589,1.39,661,2.944,791,5.362,1385,4.595,1428,5.411,1429,4.032,1430,4.421,1431,4.989,1432,4.989,1433,6.052,1434,4.032,1435,6.052,1436,7.707,1437,6.052,1438,6.052]],["t/98",[5,0.69,20,1.497,43,2.463,64,2.676,124,3.059,177,5.265,184,3.822,296,2.304,532,2.969,551,3.715,589,1.105,631,3.08,644,5.218,661,1.838,677,3.347,723,2.869,797,1.983,920,3.715,1178,3.822,1183,3.347,1298,3.08,1346,3.715,1350,3.965,1351,3.715,1352,3.205,1353,4.301,1354,4.301,1355,4.301,1356,3.715,1360,4.301,1425,3.965,1427,3.715,1429,3.205,1430,3.514,1439,4.301,1440,6.619,1441,3.965,1442,3.965,1443,4.301,1444,3.965,1445,4.811,1446,3.715,1447,4.301]],["t/100",[5,0.52,20,1.55,43,1.89,124,2.014,177,4.716,434,3.074,580,2.23,589,1.144,651,3.466,661,1.903,723,2.97,755,4.453,1178,2.876,1183,5.361,1285,2.97,1288,3.074,1352,3.318,1427,3.846,1428,4.453,1431,4.106,1441,5.587,1442,4.106,1447,4.453,1448,3.318,1449,4.981,1450,4.106,1451,4.106,1452,4.981,1453,4.453,1454,4.453,1455,4.981,1456,4.981,1457,4.106,1458,4.981,1459,4.981,1460,4.981,1461,4.981,1462,4.981,1463,4.981,1464,4.981,1465,4.981,1466,6.779,1467,4.981,1468,4.981,1469,4.981,1470,4.981,1471,4.981,1472,4.453,1473,4.981]],["t/102",[5,0.735,20,2.351,29,1.318,43,1.966,52,2.567,53,0.965,63,1.448,81,3.141,124,2.849,133,3.673,138,2.567,140,2.713,177,5.727,296,1.682,401,2.713,419,2.567,465,2.095,476,1.54,506,1.968,518,2.249,519,1.011,534,3.516,589,0.807,610,2.029,614,2.341,634,2.168,700,1.968,723,2.095,752,2.567,827,3.141,861,3.141,920,2.713,1045,4.719,1177,2.341,1178,3.661,1183,4.411,1197,2.896,1235,2.896,1239,3.141,1244,3.141,1329,3.141,1359,3.673,1410,4.719,1427,4.075,1431,2.896,1441,5.81,1442,5.81,1443,3.141,1444,2.896,1448,2.341,1450,2.896,1451,4.351,1472,5.668,1474,3.514,1475,3.514,1476,3.514,1477,3.514,1478,3.514,1479,3.514,1480,3.514,1481,5.278,1482,3.514,1483,2.713,1484,3.514,1485,3.514,1486,3.514,1487,3.141,1488,3.141,1489,3.514,1490,4.075,1491,3.514,1492,3.141,1493,3.141,1494,3.514]],["t/104",[20,2.692,41,3.712,130,3.323,156,2.09,176,4.593,203,3.439,296,3.903,450,4.982,513,4.071,529,4.071,623,3.712,630,5.218,631,3.568,634,5.03,638,3.568,676,3.218,874,4.867,1171,6.532,1186,6.294,1278,4.982,1298,3.568,1321,5.084,1495,5.573,1496,7.306,1497,4.303]],["t/106",[5,0.684,202,4.2,289,3.382,452,3.473,546,3.069,580,2.937,589,1.506,600,4.792,605,3.788,774,5.865,844,3.217,892,2.816,899,5.065,974,5.002,1306,5.4,1498,6.56,1499,6.56,1500,5.065,1501,4.37]],["t/108",[5,0.665,43,2.565,157,2.925,296,1.699,315,2.925,332,5.257,443,3.173,553,1.74,558,2.74,563,2.47,580,2.381,589,0.815,600,2.593,655,4.755,661,2.032,736,3.173,844,2.608,874,2.364,892,2.283,942,2.593,976,2.593,977,5.257,1098,2.74,1185,3.171,1194,4.929,1308,5.702,1502,2.74,1503,3.173,1504,5.702,1505,3.549,1506,2.593,1507,5.318,1508,2.593,1509,5.318,1510,3.549,1511,3.549,1512,2.925,1513,3.549,1514,3.549,1515,2.74,1516,2.925,1517,3.173,1518,3.549,1519,5.318,1520,3.549,1521,3.549,1522,2.925,1523,2.925,1524,5.318,1525,3.549,1526,2.74,1527,3.549,1528,3.549,1529,3.173,1530,5.318,1531,3.549,1532,3.549,1533,3.549,1534,2.925,1535,3.549,1536,3.549,1537,3.549,1538,3.549,1539,2.925,1540,3.173,1541,3.549,1542,4.755,1543,3.549,1544,3.173,1545,3.549,1546,2.925,1547,3.549,1548,3.549,1549,3.549,1550,3.549]],["t/110",[1,4.178,5,0.755,422,5.285,575,5.586,580,3.239,589,1.661,605,4.178,899,5.586,974,4.464,1298,4.631,1501,4.819]],["t/112",[240,3.78,289,3.479,341,6.034,367,6.034,408,4.496,775,4.93,1190,5.563,1501,5.494,1504,6.034,1506,4.93,1517,6.034,1551,6.034,1552,6.749,1553,6.749,1554,6.749,1555,6.749,1556,6.749]],["t/114",[5,0.711,12,3.341,93,4.362,151,4.978,270,3.229,408,4.539,589,1.565,866,5.261,1306,5.527,1506,4.978,1557,4.978,1558,6.092,1559,6.814,1560,6.092,1561,6.814]],["t/116",[12,3.217,32,2.374,270,2.553,362,4.37,444,3.675,502,4.565,775,4.792,897,4.2,912,5.407,933,5.865,969,5.065,980,5.407,1194,4.565,1300,5.865,1501,4.37,1562,5.4,1563,6.56,1564,6.56,1565,6.56,1566,6.56]],["t/118",[12,3.187,270,2.529,289,3.351,610,3.753,721,4.33,775,5.887,805,4.748,822,4.33,1306,4.33,1501,4.33,1546,5.357,1567,5.357,1568,6.5,1569,6.5,1570,6.5,1571,6.5,1572,6.5,1573,6.5,1574,6.5,1575,5.357,1576,5.811]],["t/120",[270,2.577,362,4.411,532,4.086,688,3.604,691,5.458,841,5.113,883,5.92,974,4.086,1119,5.113,1194,4.608,1306,4.411,1500,5.113,1501,4.411,1577,6.622,1578,5.92,1579,6.622,1580,6.622,1581,5.92,1582,6.622,1583,6.622]],["t/122",[1,3.465,5,0.626,12,2.942,176,4.946,270,2.335,302,2.335,422,4.383,519,1.726,546,2.808,589,1.378,688,4.171,775,4.383,822,3.997,844,2.942,899,4.633,974,4.73,1007,4.383,1194,4.175,1257,5.365,1285,3.578,1306,5.105,1444,4.946,1500,4.633,1501,3.997,1551,5.365,1584,6.001,1585,6.001,1586,6.001]],["t/124",[0,2.006,1,1.376,4,1.335,5,0.594,14,1.587,20,2.211,21,2.394,30,2.208,31,0.945,32,1.785,42,0.945,43,1.981,61,1.705,63,0.982,85,1.376,153,1.262,156,0.894,167,1.421,174,1.526,180,3.772,181,2.941,182,3.514,203,1.471,217,3.607,223,2.792,281,2.118,284,4.159,301,1.229,306,1.421,350,2.131,354,1.471,393,1.067,434,1.471,438,1.658,473,1.376,476,1.044,477,1.741,486,3.158,487,1.741,505,1.044,521,1.964,536,1.964,553,1.169,566,2.321,568,2.708,569,2.843,580,1.742,604,4.366,609,1.526,661,1.884,680,1.587,744,1.964,749,3.603,751,1.587,753,2.131,824,1.741,833,1.84,851,1.84,935,2.131,945,2.131,948,1.964,976,1.741,1001,3.603,1053,1.376,1076,1.376,1087,1.964,1103,3.208,1125,2.708,1251,2.131,1286,2.843,1302,1.587,1303,1.964,1304,3.808,1305,3.208,1359,1.658,1370,1.741,1385,1.421,1430,1.741,1434,1.587,1493,2.131,1508,1.741,1515,1.84,1587,2.131,1588,3.005,1589,1.964,1590,1.964,1591,2.383,1592,2.131,1593,2.383,1594,3.479,1595,3.479,1596,3.892,1597,2.383,1598,3.208,1599,2.131,1600,2.383,1601,2.383,1602,2.383,1603,2.131,1604,2.131,1605,2.383,1606,2.131,1607,2.383,1608,2.383,1609,3.479,1610,2.131,1611,2.383,1612,1.84,1613,2.175,1614,2.131,1615,2.131,1616,2.383,1617,2.383,1618,2.383,1619,2.131,1620,3.892,1621,2.383,1622,2.383,1623,2.383,1624,2.383,1625,2.383,1626,2.383,1627,2.131,1628,3.892,1629,2.131,1630,2.383]],["t/126",[5,0.779,156,2.8,179,4.181,264,5.194,276,6.153,546,3.493,778,4.973,1292,6.153]],["t/128",[5,0.66,12,3.101,23,3.903,41,4.213,53,1.737,141,2.959,289,3.26,294,5.213,458,3.771,528,3.027,634,3.903,635,5.213,638,4.049,639,4.401,940,5.654,1398,5.539,1526,4.883,1631,6.324,1632,4.213,1633,6.324,1634,3.652,1635,6.324]],["t/130",[42,2.554,64,2.603,171,4.972,197,5.308,263,5.576,266,3.37,270,2.506,393,2.883,458,3.84,497,4.704,519,1.852,605,3.719,607,3.974,952,4.29,1285,3.84,1288,3.974,1298,4.123,1636,5.758,1637,6.44,1638,6.44,1639,6.44]],["t/132",[30,2.733,31,2.421,141,2.856,259,3.626,267,2.856,270,3.016,322,6.231,333,6.387,393,2.733,458,3.64,600,4.459,601,5.032,602,4.714,833,4.714,863,5.032,889,3.525,981,4.714,1288,3.767,1448,4.067,1640,6.105,1641,4.459,1642,6.105,1643,5.458]],["t/134",[5,0.747,141,3.351,265,2.84,266,3.011,465,4.27,466,4.419,483,4.983,506,4.011,546,3.351,614,4.77,1318,5.529,1319,4.983]],["t/137",[0,2.785,4,4.009,5,0.837,21,3.01,42,3.183,43,1.996,53,1.966,156,2.026,253,3.946,278,3.458,312,2.94,361,4.171,553,2.649,612,4.171,661,2.064,663,3.759,683,3.333,730,5.526,797,2.227,983,4.452,1285,3.221,1434,3.598,1557,3.946,1644,5.402,1645,5.402,1646,7.641,1647,5.402,1648,4.452,1649,4.452,1650,4.829,1651,5.402,1652,5.402]],["t/139",[5,0.966,42,2.929,43,2.428,553,3.622,661,2.822,1653,7.387]],["t/141",[5,0.895,6,4.389,43,2.591,182,4.835,202,5.494,553,3.046,661,2.373,952,4.138,1049,4.138,1654,5.554,1655,6.458,1656,6.213,1657,5.554,1658,5.554,1659,6.213,1660,5.554]],["t/143",[0,3.231,4,3.511,5,0.899,21,3.313,43,2.197,53,1.721,63,3.248,92,4.013,167,3.738,174,4.013,195,3.411,210,4.361,489,5.166,553,3.073,566,3.738,661,2.394,1358,5.604,1430,4.579,1502,4.84,1661,5.604,1662,6.268]],["t/145",[5,0.895,43,2.591,182,4.835,202,5.494,553,3.046,661,2.373,952,4.138,1049,4.138,1654,5.554,1655,6.458,1657,5.554,1658,5.554,1660,5.554,1663,7.835,1664,6.213,1665,6.213]],["t/147",[5,0.797,18,3.717,20,2.175,21,1.748,43,2.257,55,3.002,152,2.401,173,2.479,174,3.824,180,2.329,203,2.565,207,4.363,217,1.902,251,2.329,253,3.037,275,2.201,281,2.262,284,3.037,353,3.427,355,3.427,362,2.769,471,2.329,476,1.822,477,4.363,486,2.661,518,2.661,519,1.196,553,2.038,566,3.562,568,2.893,580,1.861,612,3.21,613,3.427,658,3.717,661,2.67,723,2.479,831,2.661,971,3.427,974,2.565,976,3.037,1305,3.427,1361,3.427,1362,3.717,1385,2.479,1429,2.769,1430,3.037,1434,2.769,1508,3.037,1539,3.427,1588,3.21,1599,3.717,1603,3.717,1604,3.717,1609,3.717,1612,3.21,1649,3.427,1666,4.157,1667,3.717,1668,3.21,1669,4.157,1670,4.157,1671,3.427,1672,3.427,1673,3.427,1674,4.157,1675,4.157,1676,4.157]],["t/150",[5,0.819,20,1.607,43,2.443,61,2.263,173,3.079,241,4.617,265,2.048,266,2.172,393,2.312,471,2.893,526,1.907,548,3.079,553,2.532,566,3.079,569,3.772,575,3.987,589,1.186,605,2.982,661,1.973,678,3.593,723,3.079,752,3.772,1054,4.256,1197,4.256,1298,3.306,1370,3.772,1384,4.617,1432,4.256,1434,3.44,1667,4.617,1672,4.256,1673,4.256,1677,5.164,1678,4.617,1679,4.617,1680,4.617,1681,4.617,1682,5.164,1683,5.164,1684,4.256,1685,5.164,1686,4.617,1687,5.164]],["t/152",[15,4.105,20,1.429,29,1.722,31,1.821,32,1.662,61,2.012,122,2.738,124,2.59,151,3.354,169,2.833,180,3.589,207,3.354,217,2.932,265,1.821,266,1.931,275,3.908,281,3.487,306,2.738,393,2.055,403,2.833,429,2.367,430,3.195,434,2.833,435,5.282,438,3.195,473,2.651,476,2.808,486,4.725,487,3.354,494,4.105,507,4.105,521,3.784,588,3.545,610,2.651,613,3.784,824,3.354,836,2.572,1041,4.681,1119,3.545,1258,4.105,1286,3.354,1298,2.939,1304,3.545,1382,3.784,1544,4.105,1590,3.784,1592,4.105,1595,4.105,1613,1.754,1688,4.591,1689,3.354,1690,4.591,1691,4.591,1692,4.105,1693,4.591,1694,3.784]],["t/154",[136,3.986,263,4.651,306,3.986,428,3.638,476,2.929,477,4.883,478,4.125,487,4.883,498,4.279,499,5.977,519,1.923,590,5.51,650,5.51,1175,5.51,1315,5.161,1695,6.685,1696,6.685,1697,6.685,1698,6.685]],["t/156",[5,0.914,20,1.457,29,1.757,30,2.096,43,2.36,61,2.052,156,1.757,471,2.623,526,2.213,528,1.789,548,2.792,553,2.296,566,2.792,569,3.421,589,1.075,594,3.258,595,3.616,661,1.789,678,3.258,836,2.623,892,2.788,1022,1.969,1076,2.704,1185,2.792,1193,3.119,1267,2.195,1281,2.704,1285,3.874,1370,3.421,1420,3.86,1421,4.187,1432,3.86,1434,3.119,1534,3.86,1613,1.789,1672,3.86,1673,3.86,1678,4.187,1679,4.187,1680,4.187,1681,4.187,1699,1.93,1700,4.683,1701,2.704,1702,4.187,1703,4.683,1704,3.616,1705,6.497]],["t/159",[5,0.808,29,2.29,53,2.128,256,3.64,580,2.733,589,1.402,892,3.654,946,5.032,1281,4.475,1490,4.714,1502,4.714,1706,5.458,1707,6.105,1708,6.105,1709,3.525,1710,6.105,1711,6.105,1712,6.105,1713,6.105,1714,6.105,1715,6.105,1716,6.105,1717,6.105,1718,6.105]],["t/161",[1,3.769,5,0.492,7,2.257,53,1.792,134,4.215,195,2.565,256,2.811,268,2.909,270,1.835,289,2.43,422,4.768,580,2.11,680,3.14,751,3.14,822,3.14,836,2.641,892,3.936,995,4.215,1098,3.64,1185,2.811,1193,3.14,1199,3.64,1206,3.886,1281,2.722,1302,3.14,1429,3.14,1587,4.215,1694,3.886,1706,4.215,1709,5.196,1719,4.714,1720,4.215,1721,4.714,1722,4.714,1723,4.714,1724,4.215,1725,5.38,1726,4.714,1727,4.714,1728,4.714,1729,4.714,1730,4.714,1731,2.722,1732,4.714,1733,4.714,1734,4.215]],["t/163",[1,2.634,5,0.906,43,2.221,50,2.92,172,4.078,210,3.174,312,2.482,427,3.76,458,3.804,473,2.634,553,3.128,580,3.293,589,1.465,661,2.437,685,3.174,864,3.522,892,3.598,1190,3.76,1193,4.9,1281,5.016,1365,3.522,1372,3.76,1417,5.703,1420,6.063,1429,3.038,1490,3.522,1534,5.258,1709,2.634,1735,4.078,1736,4.562,1737,4.562,1738,4.562,1739,3.332,1740,4.562,1741,4.562,1742,4.562,1743,4.562,1744,4.562,1745,4.562]],["t/165",[5,0.779,892,3.204,917,6.153,1709,5.06,1746,6.153,1747,7.465,1748,7.465]],["t/167",[4,4.157,5,0.774,156,2.141,193,4.408,202,3.654,205,5.164,208,4.408,256,3.404,380,4.408,440,5.104,609,3.654,663,3.972,892,3.539,1020,6.635,1281,5.042,1285,4.426,1313,5.104,1562,3.803,1629,5.104,1709,4.286,1725,6.117,1749,5.104,1750,5.709,1751,5.104,1752,4.408]],["t/169",[95,4.946,156,2.251,191,3.177,202,3.841,243,5.365,302,2.335,444,3.361,476,2.63,506,4.293,663,5.333,892,2.575,960,5.333,963,4.383,1175,4.946,1281,5.138,1411,5.365,1557,4.383,1709,4.426,1749,5.365,1753,4.946,1754,6.001,1755,6.001,1756,6.001,1757,6.001]],["t/171",[0,3.867,4,3.25,5,0.605,163,4.783,205,4.038,208,4.48,256,3.46,519,1.669,546,3.51,723,3.46,797,2.392,892,2.49,961,4.038,1053,3.351,1199,4.48,1253,5.188,1281,5.254,1359,4.038,1379,4.783,1734,6.706,1753,4.783,1758,5.803,1759,5.803,1760,7.501,1761,5.803,1762,5.803,1763,5.188]],["t/173",[5,0.615,32,2.135,136,3.518,141,2.761,265,3.007,266,3.188,430,4.105,465,3.518,466,3.641,478,3.641,481,4.555,483,4.105,546,2.761,614,5.05,771,4.105,872,4.31,1302,3.93,1319,4.105,1408,5.275,1764,5.9,1765,4.863,1766,5.9,1767,5.9,1768,5.275,1769,5.9,1770,5.275,1771,5.9,1772,5.9,1773,5.9,1774,5.275]],["t/175",[32,2.083,265,2.282,266,2.42,289,2.967,354,3.552,428,3.132,429,3.846,449,5.761,453,4.744,465,3.432,466,3.552,478,3.552,519,1.655,593,5.146,859,5.146,950,4.744,1064,5.146,1326,4.744,1765,4.744,1775,5.755,1776,7.461,1777,5.755,1778,5.755,1779,5.755,1780,5.146,1781,5.755,1782,5.755,1783,5.755,1784,5.755,1785,5.755,1786,5.146,1787,5.755,1788,5.755]],["t/177",[12,2.942,265,2.38,266,2.524,305,5.365,380,4.633,389,3.841,428,3.265,430,5.333,449,4.633,465,3.578,466,3.703,478,3.703,542,4.946,676,3.465,1575,4.946,1576,5.365,1768,5.365,1789,6.001,1790,5.365,1791,6.001,1792,6.001,1793,6.852,1794,5.365,1795,6.001,1796,6.001,1797,6.001,1798,6.001,1799,6.001,1800,5.365]],["t/179",[12,2.893,29,2.213,265,3.007,266,3.188,331,4.863,393,2.641,428,3.211,478,3.641,834,4.863,872,4.31,1003,4.863,1302,3.93,1319,4.105,1394,4.863,1453,5.275,1575,4.863,1774,7.49,1801,4.863,1802,5.9,1803,5.9,1804,5.9,1805,5.9,1806,5.9,1807,5.9,1808,5.9,1809,5.9,1810,5.9,1811,4.863,1812,5.9]],["t/181",[265,2.264,266,2.401,277,4.705,289,2.943,388,4.705,428,3.107,438,3.972,478,4.58,519,1.642,609,3.654,612,4.408,906,5.104,908,5.104,1193,3.803,1302,3.803,1319,3.972,1321,3.972,1326,4.705,1392,4.408,1425,4.705,1560,5.104,1770,6.635,1780,5.104,1786,6.635,1794,5.104,1813,5.709,1814,5.709,1815,5.709,1816,5.709,1817,5.709,1818,5.709,1819,5.709,1820,5.709,1821,5.709]],["t/183",[32,2.49,125,3.374,265,2.729,266,2.894,268,4.246,269,5.313,428,3.744,465,4.103,466,4.246,478,4.246,588,5.313,614,4.584,872,5.026,1319,4.788,1822,6.881,1823,6.881]],["t/186",[5,0.415,12,1.201,17,1.632,29,0.919,42,1.578,53,1.38,63,1.01,64,1.609,85,1.414,121,5,125,1.201,141,1.146,237,3.558,240,2.229,265,0.971,270,2.477,272,1.461,273,1.704,276,2.019,289,1.263,294,2.019,331,2.019,344,3.497,368,2.019,380,3.073,408,1.632,434,1.512,438,2.769,444,2.229,476,1.073,491,3.28,506,1.372,574,2.19,578,2.019,582,3.558,598,1.461,600,1.789,602,1.891,604,2.769,608,4.469,616,4.494,617,4.494,691,2.019,750,2.019,771,1.704,791,1.704,798,3.672,813,2.019,816,4.228,833,1.891,837,1.891,853,1.891,863,2.019,864,1.891,873,1.414,902,1.789,911,2.19,938,5.655,1003,3.28,1034,1.568,1048,2.19,1055,2.19,1096,2.19,1188,1.891,1222,1.704,1228,1.891,1267,0.828,1394,2.019,1562,2.651,1567,2.019,1613,0.936,1671,2.019,1689,1.789,1725,5.923,1765,2.019,1790,2.19,1800,2.19,1824,6.695,1825,2.45,1826,2.45,1827,2.45,1828,2.19,1829,2.45,1830,2.19,1831,2.19,1832,1.891,1833,1.704,1834,2.19,1835,3.28,1836,3.98,1837,3.98,1838,3.98,1839,2.45,1840,2.45,1841,3.98,1842,2.45,1843,2.45,1844,2.45,1845,2.45,1846,2.45,1847,2.45,1848,2.45,1849,2.45,1850,2.45,1851,2.19,1852,3.98,1853,2.45,1854,5.027,1855,2.45,1856,2.45,1857,2.45,1858,3.98,1859,2.45,1860,3.98,1861,2.45,1862,3.558,1863,3.98,1864,2.45,1865,2.45,1866,2.45,1867,2.45,1868,2.45,1869,2.45,1870,2.45,1871,2.19,1872,1.891,1873,2.45,1874,2.45,1875,2.45]],["t/188",[5,0.711,64,2.755,184,3.935,256,4.063,273,4.741,526,1.871,589,1.565,638,4.362,721,4.539,1185,4.063,1228,5.261,1562,4.539,1613,2.603,1699,2.809,1835,5.617,1872,5.261,1876,6.814]],["t/190",[5,0.86,82,4.696,526,2.265,589,1.55,631,4.32,688,3.673,1159,2.359,1177,4.496,1178,4.763,1200,3.309,1267,2.787,1613,2.578,1699,2.782,1877,5.211]],["t/192",[5,0.554,20,2.033,21,0.745,29,0.664,42,0.702,43,2.679,53,0.834,61,0.776,64,0.716,82,1.232,97,2.217,121,2.112,184,1.023,211,2.772,217,0.81,270,1.837,272,1.056,273,1.232,275,0.938,409,1.584,455,1.368,476,0.776,519,1.146,526,0.834,528,0.677,530,1.368,553,0.869,558,1.368,562,1.368,563,1.232,564,0.89,602,1.368,644,1.134,661,2.607,721,1.18,750,1.46,763,1.134,768,1.368,794,1.18,798,1.294,816,2.217,844,0.869,892,1.303,897,1.943,924,1.294,926,1.232,938,2.217,942,1.294,996,3.144,1007,2.217,1025,2.91,1034,2.55,1053,1.023,1157,1.46,1177,1.18,1178,1.023,1193,1.18,1281,1.023,1286,1.294,1287,1.232,1346,1.368,1351,1.368,1356,2.344,1385,1.81,1434,1.18,1483,1.368,1506,1.294,1512,1.46,1515,1.368,1516,2.502,1522,1.46,1562,3.858,1589,1.46,1598,1.46,1668,1.368,1684,2.502,1692,1.584,1704,2.344,1824,4.22,1830,1.584,1831,1.584,1832,2.344,1833,1.232,1834,1.584,1835,3.283,1878,1.771,1879,3.036,1880,1.771,1881,1.771,1882,3.036,1883,1.771,1884,1.771,1885,3.075,1886,3.561,1887,1.584,1888,2.714,1889,1.584,1890,1.584,1891,1.584,1892,1.584,1893,1.771,1894,3.983,1895,1.771,1896,3.983,1897,1.771,1898,1.771,1899,1.771,1900,1.771,1901,1.771,1902,1.584,1903,1.771,1904,1.771,1905,1.771,1906,1.771,1907,1.771,1908,1.771,1909,1.771,1910,1.771,1911,1.771,1912,3.036,1913,1.771,1914,1.771,1915,3.983,1916,1.771,1917,1.771,1918,3.036,1919,4.72,1920,3.036,1921,1.368,1922,1.771,1923,1.771,1924,1.771,1925,1.771,1926,1.771,1927,4.72,1928,3.983,1929,1.771,1930,3.036,1931,1.771,1932,3.036,1933,4.72,1934,1.584,1935,1.584,1936,1.584,1937,1.584,1938,1.771,1939,1.771,1940,1.771,1941,1.771,1942,1.771,1943,1.368,1944,1.771,1945,1.771,1946,1.771,1947,3.036,1948,1.771,1949,1.771,1950,1.771,1951,1.771,1952,1.771,1953,1.771,1954,3.036,1955,1.771,1956,1.771,1957,1.771,1958,1.771,1959,1.771,1960,1.771,1961,1.771,1962,1.771,1963,1.584,1964,1.771,1965,1.771,1966,3.036]],["t/194",[6,3.931,30,3.142,31,3.35,33,4.883,34,4.053,63,2.893,178,4.331,470,5.127,500,5.419,502,4.883,506,3.931,1632,4.675,1967,7.018]],["t/196",[5,0.747,500,5.529,502,4.983,526,1.967,589,1.644,652,5.231,1497,5.529,1613,2.736,1632,4.77,1649,5.902,1699,2.952,1968,6.402]],["t/198",[5,0.799,43,2.137,526,1.648,589,1.378,631,3.841,688,3.265,1158,3.841,1159,2.097,1178,3.465,1200,2.942,1267,3.006,1613,2.292,1699,2.474,1877,4.633,1969,4.946,1970,5.365,1971,7.55,1972,6.001,1973,4.633,1974,4.946,1975,4.175,1976,5.365,1977,5.365,1978,5.365]],["t/200",[0,1.323,5,0.727,20,1.851,21,2.181,22,1.323,42,2.358,43,2.497,61,1.124,69,3.694,92,1.642,152,1.482,167,1.53,217,1.174,270,1.608,284,1.874,302,0.998,389,1.642,430,1.785,500,3.19,519,0.738,523,1.874,526,1.135,528,1.578,548,1.53,553,1.258,556,3.694,564,1.289,568,1.785,580,1.148,604,1.785,644,2.645,652,3.018,661,2.49,663,1.785,676,1.482,683,1.583,688,1.396,700,2.905,726,2.294,763,3.32,769,2.294,794,3.455,892,1.101,960,1.785,1007,1.874,1025,1.874,1034,1.642,1053,1.482,1128,1.874,1153,1.874,1157,2.115,1166,1.709,1281,1.482,1287,1.785,1352,1.709,1385,1.53,1497,4.005,1503,2.294,1540,3.694,1562,1.709,1598,2.115,1619,3.694,1632,3.455,1634,2.386,1646,4.637,1702,2.294,1704,5.033,1921,1.981,1968,3.694,1971,2.294,1975,1.785,1976,2.294,1977,2.294,1978,2.294,1979,2.566,1980,5.187,1981,2.566,1982,2.566,1983,1.785,1984,2.566,1985,4.132,1986,2.566,1987,2.566,1988,2.115,1989,4.132,1990,5.947,1991,2.566,1992,2.566,1993,2.566,1994,2.566,1995,5.187,1996,2.294,1997,2.566,1998,2.566,1999,2.566,2000,2.566,2001,1.785,2002,2.566,2003,4.132,2004,2.566,2005,2.566,2006,2.566,2007,2.294,2008,2.566,2009,2.566,2010,2.566,2011,2.566,2012,2.566,2013,2.566,2014,4.132,2015,2.115,2016,2.566,2017,2.566,2018,2.566,2019,2.566,2020,2.566]],["t/202",[5,0.86,30,3.021,31,2.676,234,5.211,278,4.32,312,3.673,468,5.09,589,1.894,771,4.696,1232,7.374,1267,2.28,2021,6.749,2022,5.563,2023,6.034]],["t/204",[5,0.605,48,2.991,64,2.346,153,3.072,186,5.188,234,4.48,251,3.25,259,2.715,267,2.715,278,3.715,389,3.715,452,3.072,464,5.792,468,3.581,498,3.715,519,1.669,546,2.715,575,4.48,589,1.332,844,2.845,889,3.351,1158,4.802,1181,3.865,1222,4.038,1236,4.783,1400,3.865,1401,3.865,1753,4.783,1969,4.783,2022,4.783,2024,5.188,2025,4.239,2026,5.803]],["t/207",[6,2.81,22,3.511,34,2.897,42,1.99,43,2.596,55,3.423,61,2.985,124,2.028,173,2.992,178,4.203,179,2.81,280,2.897,284,3.665,382,4.135,428,2.73,459,3.342,523,4.975,558,3.873,566,2.992,569,3.665,589,1.152,693,3.873,1034,3.211,1490,3.873,1529,4.485,1590,5.614,1671,4.135,2007,4.485,2027,4.485,2028,5.017,2029,6.811,2030,6.811,2031,5.017,2032,5.017,2033,5.017,2034,5.017,2035,5.017,2036,3.873,2037,5.017]],["t/210",[20,2.299,22,3.808,36,5.703,55,3.712,141,3.456,280,4.265,301,3.808,2027,6.604,2038,7.387]],["t/212",[5,0.61,22,3.888,32,2.729,34,4.355,38,4.274,52,4.274,63,2.412,149,3.898,169,3.611,181,3.489,275,3.097,290,4.518,408,3.898,429,3.016,438,4.071,476,2.564,487,4.274,577,5.231,680,3.898,797,2.412,1125,4.071,1606,5.231,1610,5.231,1661,5.231,2039,5.851,2040,5.851,2041,5.231,2042,5.851,2043,5.851,2044,5.851,2045,4.823]],["t/214",[21,3.595,43,1.997,55,3.599,408,4.77,518,4.584,756,5.902,2046,6.402,2047,7.161,2048,7.161,2049,7.161,2050,6.402]],["t/216",[22,3.618,156,2.632,382,5.785,397,3.819,523,5.127,874,5.626,882,5.785,1089,5.785,1694,5.785,2051,7.018,2052,7.018,2053,7.018,2054,7.018]],["t/218",[22,3.692,43,1.997,50,4.584,55,3.599,209,4.77,240,4.011,280,4.135,791,4.983,912,5.902,2055,5.902,2056,7.161,2057,7.161]],["t/220",[22,3.692,118,5.529,280,4.135,882,5.902,1022,3.011,1316,6.402,2058,7.161,2059,7.161,2060,7.161,2061,7.161,2062,7.161,2063,7.161]],["t/222",[5,0.337,6,1.067,13,2.356,14,1.269,17,2.801,19,1.571,20,0.593,22,0.982,27,1.571,32,1.169,41,2.152,42,1.281,53,0.887,55,1.624,56,1.269,60,1.136,61,0.835,85,2.428,92,1.22,120,1.22,121,2.248,124,1.306,130,1.136,137,1.269,141,1.512,156,0.715,169,1.176,173,1.136,174,2.692,177,1.326,180,1.067,181,1.136,189,3.824,190,3.824,191,1.71,192,2.248,194,1.471,200,4.082,203,1.176,210,1.326,215,3.76,217,2.755,223,4.234,224,2.494,226,2.068,228,4.322,229,4.196,231,1.704,280,1.1,281,1.037,289,1.665,296,0.912,312,1.037,394,2.663,420,2.663,421,2.248,425,1.571,428,1.758,429,0.982,464,1.471,472,1.704,474,1.392,479,1.571,498,1.22,519,0.548,525,1.392,598,1.136,607,1.176,608,2.494,621,1.22,666,1.704,687,1.571,700,1.81,808,1.471,812,1.571,874,1.269,901,2.663,902,1.392,990,1.471,1041,1.392,1104,1.704,1154,1.571,1184,1.571,1215,2.663,1332,1.571,1387,3.824,1446,1.471,1448,1.269,1526,1.471,1542,1.704,1558,1.704,1581,1.704,1594,1.704,1655,1.571,1684,1.571,1689,1.392,1724,1.704,1731,1.865,1739,1.392,1832,1.471,2045,1.571,2046,1.704,2064,1.906,2065,1.704,2066,3.231,2067,1.906,2068,1.906,2069,1.906,2070,1.906,2071,4.428,2072,1.906,2073,1.906,2074,4.205,2075,3.231,2076,1.906,2077,1.906,2078,1.906,2079,2.36,2080,1.906,2081,1.906,2082,1.906,2083,1.906,2084,3.231,2085,1.704,2086,1.906,2087,1.906,2088,1.906,2089,1.906,2090,1.906,2091,1.906,2092,1.906,2093,1.906,2094,1.906,2095,1.906,2096,1.704,2097,1.906,2098,2.248,2099,1.471,2100,2.926,2101,1.269,2102,1.906,2103,1.906,2104,1.906,2105,2.663,2106,1.906,2107,1.392,2108,1.906,2109,1.906,2110,1.906,2111,1.906,2112,1.906,2113,2.36,2114,1.906,2115,1.906,2116,1.906,2117,1.906,2118,2.494,2119,1.22,2120,1.22,2121,1.865,2122,1.704,2123,1.906,2124,1.906,2125,1.906,2126,1.906,2127,1.906,2128,2.888,2129,2.248,2130,1.906,2131,1.906,2132,1.906,2133,1.906,2134,1.906,2135,1.906,2136,1.906,2137,1.906,2138,1.906,2139,1.704,2140,1.704,2141,1.906,2142,1.471]],["t/224",[7,1.124,13,2.153,20,0.73,21,0.555,29,0.88,30,2.786,41,1.563,43,1.919,55,1.593,60,0.787,61,0.578,63,1.816,92,0.845,93,0.845,120,1.502,122,0.787,124,2.406,125,0.647,130,0.787,132,1.019,140,1.019,147,1.019,149,0.879,153,0.698,156,0.495,169,0.814,174,0.845,179,2.962,188,1.088,191,1.678,207,1.714,209,2.111,210,0.918,217,1.45,223,3.678,228,1.502,229,0.787,240,1.315,250,1.088,251,0.739,275,0.698,280,0.762,286,0.964,287,1.18,290,1.019,295,1.18,301,0.68,310,1.088,374,1.019,401,1.019,403,0.814,429,0.68,459,0.879,476,1.389,525,0.964,531,1.088,564,3.128,620,1.934,625,2.098,680,2.111,700,1.315,713,0.845,772,0.591,798,0.964,810,3.263,836,2.153,852,2.098,944,1.633,996,2.111,1041,0.964,1043,2.098,1081,1.934,1093,1.18,1101,1.18,1161,1.18,1199,1.019,1206,1.934,1268,1.088,1287,0.918,1288,0.814,1325,1.088,1352,0.879,1365,1.019,1448,1.563,1451,1.088,1488,1.18,1502,1.019,1508,0.964,1523,1.088,1578,1.18,1588,1.019,1589,1.088,1612,1.019,1627,1.18,1632,1.563,1648,1.088,1668,1.019,1689,0.964,1720,1.18,1731,0.762,1751,1.18,1885,1.812,1902,1.18,1943,1.019,1975,0.918,1996,1.18,2036,1.019,2055,1.088,2079,0.964,2098,0.918,2105,1.934,2107,0.964,2118,1.019,2120,0.845,2121,0.762,2129,3.926,2142,2.447,2143,3.168,2144,1.32,2145,4.121,2146,1.32,2147,1.32,2148,1.32,2149,2.347,2150,1.18,2151,3.17,2152,2.347,2153,2.347,2154,2.613,2155,1.32,2156,1.32,2157,1.32,2158,1.18,2159,1.32,2160,1.32,2161,1.088,2162,1.32,2163,2.347,2164,1.32,2165,1.32,2166,1.32,2167,1.18,2168,1.32,2169,3.17,2170,1.18,2171,1.32,2172,4.65,2173,1.32,2174,1.32,2175,1.088,2176,1.32,2177,1.32,2178,1.32,2179,2.834,2180,1.32,2181,1.18,2182,1.18,2183,1.32,2184,5.331,2185,1.32,2186,1.32,2187,1.32,2188,2.807,2189,3.436,2190,1.32,2191,1.32,2192,1.32,2193,1.32,2194,1.32,2195,1.934,2196,0.787,2197,2.347,2198,1.32,2199,1.32,2200,1.32,2201,1.32,2202,1.32,2203,1.32,2204,1.019,2205,1.32,2206,1.32,2207,1.019,2208,2.347,2209,2.834,2210,4.359,2211,1.32,2212,1.32,2213,1.32,2214,1.32,2215,1.32,2216,1.32,2217,1.32,2218,1.32,2219,1.32,2220,1.32,2221,2.098,2222,1.32,2223,1.32,2224,3.436,2225,1.812,2226,1.088,2227,1.32,2228,1.32,2229,1.32,2230,1.32,2231,1.18,2232,2.098,2233,1.18,2234,1.32,2235,1.32,2236,1.32,2237,1.32,2238,1.32,2239,1.32,2240,1.32,2241,1.088,2242,1.32,2243,1.32,2244,1.18,2245,0.964,2246,1.32,2247,1.32,2248,1.32,2249,1.18,2250,1.32,2251,1.32,2252,1.32,2253,1.32,2254,3.17,2255,1.32,2256,2.347,2257,1.32,2258,1.019,2259,1.32,2260,1.088,2261,1.32,2262,2.347,2263,1.32,2264,1.32,2265,1.32,2266,1.32,2267,3.843,2268,1.32,2269,1.934,2270,1.088,2271,1.32,2272,1.32,2273,1.32,2274,1.32,2275,1.32,2276,1.32,2277,1.32,2278,1.32,2279,1.32,2280,1.32,2281,1.32,2282,1.18,2283,1.32]],["t/226",[13,1.411,30,1.128,31,1.615,43,1.429,60,1.503,63,1.039,125,1.236,153,2.155,185,2.959,223,1.236,226,3.767,315,2.077,361,1.945,403,2.513,492,2.607,564,2.046,621,1.613,681,3.144,693,1.945,700,1.411,713,1.613,797,1.039,810,1.555,832,1.753,836,1.411,996,3.92,1047,3.356,1070,1.945,1236,2.077,1352,1.678,1365,1.945,1376,2.077,1387,1.945,1457,2.077,1731,2.959,1811,2.077,1828,2.253,1975,2.833,1983,1.753,1988,2.077,2099,1.945,2129,2.833,2154,3.356,2175,2.077,2196,4.12,2204,1.945,2209,2.253,2244,2.253,2249,2.253,2258,3.144,2260,4.223,2284,2.52,2285,2.077,2286,5.261,2287,2.52,2288,2.52,2289,4.543,2290,4.85,2291,2.253,2292,2.52,2293,2.52,2294,2.52,2295,2.52,2296,2.253,2297,5.614,2298,2.52,2299,2.52,2300,2.52,2301,5.993,2302,3.956,2303,4.072,2304,4.85,2305,1.945,2306,2.52,2307,2.52,2308,2.253,2309,3.144,2310,1.841,2311,5.614,2312,3.144,2313,2.52,2314,1.945,2315,2.52,2316,2.52,2317,2.52,2318,4.072,2319,2.52,2320,4.718,2321,4.223,2322,2.52,2323,2.077,2324,2.253,2325,2.52,2326,2.52,2327,2.52,2328,2.52,2329,2.52,2330,2.52,2331,2.52,2332,2.52,2333,2.52,2334,2.52,2335,4.072,2336,4.072,2337,5.124,2338,3.64,2339,3.356,2340,2.52,2341,2.077,2342,2.52,2343,2.253,2344,2.253,2345,2.077,2346,2.52,2347,2.52]],["t/228",[0,1.399,2,4.438,7,0.745,13,0.872,16,2.237,30,1.934,43,1.006,93,0.996,122,2.152,128,1.282,131,1.282,153,1.436,170,4.472,178,1.674,179,1.52,187,1.391,203,1.674,209,1.036,223,4.4,226,3.138,251,0.872,309,1.282,361,1.201,374,1.201,401,2.095,492,0.996,503,1.391,518,2.31,531,2.974,564,3.971,621,1.737,681,1.201,688,0.847,700,1.52,709,2.974,711,2.786,713,2.31,772,0.696,782,1.036,797,0.641,810,3.574,1006,1.391,1013,2.426,1042,1.391,1047,1.282,1049,2.404,1053,0.898,1081,4.041,1117,1.391,1209,1.282,1214,1.282,1215,2.237,1288,0.96,1526,1.201,1613,1.037,1641,3.157,1731,1.567,1739,1.136,1752,1.201,1851,1.391,1943,1.201,1983,1.083,2001,1.083,2036,2.095,2041,7.064,2096,1.391,2098,3.007,2099,4.158,2107,1.136,2119,3.708,2120,2.31,2121,3.345,2129,1.083,2145,2.636,2154,1.282,2161,2.237,2170,1.391,2172,2.237,2184,1.282,2188,1.982,2195,1.282,2196,2.577,2210,1.282,2224,3.226,2225,5.785,2245,1.982,2258,1.201,2269,2.974,2285,1.282,2289,2.095,2290,2.237,2297,1.201,2304,1.282,2305,1.201,2310,2.636,2311,3.337,2320,4.231,2323,1.282,2338,3.226,2341,2.237,2344,1.391,2348,1.556,2349,1.556,2350,1.556,2351,1.201,2352,1.556,2353,1.556,2354,2.714,2355,1.556,2356,2.714,2357,4.321,2358,1.556,2359,1.556,2360,1.556,2361,1.391,2362,3.609,2363,1.556,2364,1.391,2365,1.391,2366,1.556,2367,3.609,2368,4.321,2369,2.714,2370,2.714,2371,1.556,2372,3.609,2373,2.714,2374,1.556,2375,1.556,2376,1.556,2377,3.226,2378,1.556,2379,2.714,2380,2.714,2381,2.714,2382,3.226,2383,1.556,2384,1.391,2385,1.391,2386,1.282,2387,1.556,2388,1.556,2389,4.902,2390,1.556,2391,1.391,2392,1.136,2393,1.556,2394,1.391,2395,1.556,2396,1.556]],["t/230",[5,0.429,52,3.001,137,2.737,180,2.301,217,3.477,218,4.626,223,4.242,296,1.967,312,2.236,344,2.859,403,2.535,436,3.673,476,1.8,537,3.001,564,4.049,713,2.63,797,1.694,836,2.301,851,3.172,874,2.737,960,2.859,1049,2.737,1125,2.859,1209,3.387,1318,3.172,1641,3.001,1811,3.387,2100,2.859,2101,5.367,2119,5.158,2121,3.42,2142,3.172,2161,3.387,2175,3.387,2196,2.45,2204,4.573,2225,4.573,2226,3.387,2310,3.001,2345,3.387,2382,3.673,2392,3.001,2397,5.724,2398,3.673,2399,4.109,2400,4.109,2401,5.295,2402,3.387,2403,4.109,2404,4.109,2405,4.109,2406,4.109,2407,3.673,2408,4.109,2409,3.673,2410,4.109]],["t/232",[14,1.151,29,0.648,30,1.75,32,0.625,43,2.238,48,0.891,53,0.474,60,1.03,92,1.902,125,1.457,130,1.03,153,0.915,179,2.19,185,1.716,188,1.424,193,2.294,217,3.205,218,2.604,223,2.565,226,1.902,227,3.222,228,1.106,229,1.03,240,0.968,275,0.915,289,0.891,312,2.127,319,1.202,397,0.94,410,1.545,419,1.262,506,1.664,519,0.497,526,0.474,564,1.493,580,0.773,583,1.424,587,1.066,598,1.03,603,1.545,609,1.106,621,1.106,661,0.66,700,1.664,713,1.106,730,1.334,772,1.33,797,0.712,810,3.227,836,0.968,851,1.334,996,1.151,1025,2.856,1034,3.348,1041,3.391,1049,2.604,1070,2.294,1079,1.202,1087,1.424,1102,1.262,1259,1.424,1302,1.151,1303,1.424,1327,1.424,1429,1.151,1454,1.545,1567,2.449,1641,1.262,1648,1.424,1668,3.018,1689,1.262,1731,2.257,1739,1.262,1983,2.068,2001,2.72,2079,2.171,2100,1.202,2101,3.484,2119,4.627,2120,2.503,2121,3.898,2143,1.424,2145,1.262,2188,2.171,2189,1.545,2196,2.331,2204,2.294,2245,1.262,2260,1.424,2269,1.424,2285,1.424,2286,1.545,2289,1.334,2290,1.424,2297,1.334,2301,2.449,2302,2.294,2304,1.424,2305,1.334,2309,4.411,2310,2.171,2311,1.334,2312,1.334,2314,3.018,2320,3.391,2324,1.545,2351,1.334,2361,1.545,2364,1.545,2377,2.657,2391,1.545,2397,2.449,2398,1.545,2411,1.728,2412,1.545,2413,2.971,2414,1.728,2415,1.728,2416,1.728,2417,1.728,2418,2.971,2419,3.909,2420,1.545,2421,1.728,2422,1.728,2423,1.728,2424,1.728,2425,1.728,2426,2.294,2427,1.728,2428,1.728,2429,6.099,2430,1.728,2431,2.971,2432,1.545,2433,4.15,2434,1.424,2435,1.728,2436,1.728,2437,1.728,2438,2.657,2439,1.728,2440,2.449,2441,1.728,2442,3.909,2443,1.728,2444,1.728,2445,2.971,2446,1.728,2447,1.728,2448,2.971,2449,1.728,2450,1.728,2451,1.728,2452,1.728,2453,1.728,2454,1.728,2455,1.728,2456,1.728,2457,1.728,2458,1.728,2459,1.728,2460,1.728,2461,1.728,2462,1.728,2463,2.971,2464,1.728,2465,1.424,2466,1.728,2467,1.545,2468,2.657,2469,1.728,2470,1.728,2471,1.728,2472,1.728]],["t/234",[7,1.666,30,1.557,43,2.205,60,2.075,141,1.628,179,3.53,217,1.592,218,2.317,221,3.11,223,3.439,226,2.227,459,2.317,506,1.949,564,3.167,683,2.147,700,1.949,791,2.421,797,2.16,810,3.889,1119,2.686,1184,2.867,1194,4.385,1315,2.686,1379,2.867,1546,5.194,1612,2.686,1641,3.827,1731,4.05,1752,2.686,2001,3.645,2119,4.49,2120,4.034,2121,4.344,2128,4.684,2142,2.686,2188,2.541,2195,2.867,2196,3.124,2241,2.867,2245,2.541,2289,4.045,2291,3.11,2296,3.11,2297,4.866,2301,2.867,2302,2.686,2305,2.686,2309,4.045,2312,2.686,2314,4.045,2351,2.686,2429,5.415,2433,3.11,2434,2.867,2438,3.11,2440,2.867,2473,3.479,2474,3.479,2475,3.11,2476,3.11,2477,3.479,2478,3.479,2479,3.479,2480,3.479,2481,3.479,2482,3.479,2483,3.479,2484,3.11,2485,3.479,2486,3.479,2487,3.479,2488,3.479,2489,3.479]],["t/236",[0,1.662,32,1.167,43,0.899,53,0.885,60,2.949,63,1.329,122,1.922,132,2.489,149,2.148,153,1.707,156,1.209,191,1.707,217,4.074,218,5.492,223,1.581,227,2.657,228,3.165,229,1.922,232,2.489,519,0.927,587,1.989,682,4.393,709,2.657,711,2.489,772,1.443,873,1.862,1001,4.927,1008,2.882,1053,1.862,1102,4.927,1188,2.489,1268,2.657,1315,2.489,1539,2.657,2098,2.243,2101,4.845,2118,5.207,2119,4.914,2120,4.914,2121,1.862,2122,2.882,2196,1.922,2226,2.657,2282,2.882,2310,2.355,2351,3.818,2409,2.882,2412,4.421,2420,2.882,2426,3.818,2429,2.489,2465,2.657,2490,4.421,2491,3.224,2492,7.144,2493,4.945,2494,2.882,2495,2.882,2496,4.945,2497,3.224,2498,3.224,2499,3.224,2500,2.657,2501,4.945,2502,4.945,2503,3.224,2504,3.224,2505,3.224,2506,3.224,2507,4.644,2508,3.224]],["t/238",[29,1.338,43,2.568,179,3.583,191,2.826,192,5.291,223,3.729,229,3.815,280,2.06,403,3.294,408,2.376,564,3.215,700,2.99,836,1.998,902,3.9,969,2.754,994,2.94,1154,4.4,1508,6.043,1885,4.122,1975,3.715,2079,2.606,2085,3.189,2145,2.606,2172,2.94,2179,7.135,2221,4.773,2232,4.773,2233,4.773,2312,4.122,2343,5.72,2402,2.94,2468,4.773,2509,4.773,2510,3.567,2511,3.189,2512,3.567,2513,3.567,2514,3.567,2515,7.102,2516,5.339,2517,3.567,2518,3.567,2519,3.567,2520,3.567,2521,3.567,2522,5.339,2523,3.567,2524,3.567,2525,3.189,2526,3.567,2527,3.567,2528,3.567,2529,3.567,2530,3.567]],["t/240",[13,1.142,30,1.53,31,0.808,43,2.516,88,1.68,92,1.305,97,2.497,141,1.6,153,1.079,156,0.764,179,2.896,191,1.81,192,1.418,217,0.932,218,4.973,223,2.825,226,1.305,229,3.083,256,1.215,275,1.079,312,1.861,365,1.822,506,1.142,528,0.779,564,1.024,621,1.305,700,1.915,713,2.189,749,1.489,763,1.305,772,0.912,797,1.409,810,2.11,834,1.68,857,1.822,902,4.208,960,1.418,973,1.822,1001,1.489,1070,2.64,1102,1.489,1446,1.574,1523,1.68,1731,2.986,1793,1.822,1983,1.418,2098,1.418,2100,1.418,2101,1.358,2107,1.489,2118,1.574,2119,3.992,2120,3.992,2121,2.55,2145,1.489,2181,5.151,2184,2.818,2188,2.497,2196,3.083,2210,4.749,2245,2.497,2314,4.448,2320,1.489,2321,2.818,2323,1.68,2339,1.68,2345,2.818,2385,3.949,2392,2.497,2402,2.818,2426,2.64,2429,4.448,2434,1.68,2476,1.822,2484,3.057,2490,1.822,2494,1.822,2495,1.822,2500,1.68,2507,1.574,2509,5.151,2525,5.151,2531,2.038,2532,2.038,2533,2.038,2534,2.038,2535,3.419,2536,3.419,2537,3.419,2538,3.419,2539,4.417,2540,3.419,2541,4.417,2542,2.038,2543,2.038,2544,2.038,2545,2.038,2546,2.038,2547,2.038,2548,2.038,2549,3.419,2550,3.419,2551,2.038,2552,2.038,2553,2.038,2554,2.038,2555,2.038,2556,3.419,2557,2.038,2558,1.822,2559,1.68,2560,1.822,2561,2.038,2562,2.038,2563,2.038,2564,1.822,2565,1.822,2566,2.038,2567,2.038,2568,4.417,2569,2.038,2570,2.038,2571,2.038,2572,2.038,2573,1.68,2574,2.038,2575,2.038,2576,2.038,2577,3.419,2578,2.038,2579,2.038,2580,2.038,2581,1.822,2582,2.038,2583,2.038]],["t/242",[14,1.843,30,1.239,32,1.002,43,2.305,53,0.76,73,5.58,130,1.65,141,2.054,151,2.022,183,2.474,209,1.843,217,2.008,218,1.843,223,3.32,226,3.975,228,1.772,356,2.022,400,2.474,403,1.708,474,2.022,476,1.213,495,2.474,506,1.55,519,0.796,564,1.391,681,2.137,693,2.137,749,2.022,797,2.249,810,1.708,832,1.926,854,2.281,944,1.926,991,2.281,1005,2.474,1098,2.137,1102,2.022,1214,2.281,1224,4.877,1272,2.474,1288,2.709,1306,1.843,1387,2.137,1448,2.924,1457,2.281,1921,2.137,1943,4.212,1983,1.926,2001,1.926,2036,2.137,2100,3.054,2101,2.924,2107,2.022,2120,1.772,2121,2.535,2129,5.013,2143,2.281,2150,2.474,2182,2.474,2225,4.212,2270,2.281,2302,3.389,2308,2.474,2309,4.212,2311,2.137,2320,3.206,2341,4.496,2394,2.474,2401,2.474,2440,2.281,2467,4.877,2492,2.474,2573,2.281,2581,2.474,2584,2.767,2585,2.474,2586,2.767,2587,2.474,2588,2.767,2589,2.767,2590,2.767,2591,4.389,2592,2.767,2593,2.767,2594,2.767,2595,2.767,2596,2.767,2597,2.767,2598,2.767,2599,2.767,2600,2.767,2601,2.767,2602,2.767,2603,2.767,2604,4.389,2605,2.767,2606,2.767,2607,2.767,2608,4.389,2609,2.474,2610,2.767,2611,5.455,2612,2.767,2613,2.767,2614,2.767,2615,2.767,2616,2.767,2617,2.767,2618,2.767,2619,4.389,2620,2.767,2621,2.767,2622,2.767,2623,2.767]],["t/244",[5,0.447,6,2.4,7,2.051,13,3.418,32,1.55,53,1.676,85,2.474,116,3.129,153,2.268,156,1.607,179,2.4,180,2.4,189,3.307,190,3.307,194,3.307,217,2.792,223,2.992,224,3.307,228,4.55,229,3.639,248,3.83,286,3.129,296,2.051,394,3.531,412,3.83,421,2.981,479,3.531,486,2.742,525,3.129,555,3.531,598,2.554,608,3.307,609,2.742,621,4.55,808,3.307,1126,3.307,1135,3.83,1188,3.307,1291,3.83,1382,3.531,1588,3.307,1739,3.129,1832,3.307,2045,3.531,2065,3.83,2071,5.456,2100,4.246,2105,3.531,2113,3.129,2270,3.531,2426,3.307,2507,3.307,2585,3.83,2624,4.284,2625,4.284,2626,4.284,2627,4.284,2628,4.284,2629,4.284,2630,4.284,2631,4.284,2632,3.83,2633,4.284,2634,4.284,2635,4.284,2636,4.284,2637,4.284]],["t/246",[169,3.735,223,2.968,229,3.609,330,5.411,429,3.12,510,5.411,704,5.411,1376,4.989,2129,4.211,2139,5.411,2140,6.89,2465,4.989,2475,5.411,2638,6.052,2639,6.052,2640,6.052,2641,6.052,2642,6.052,2643,6.052,2644,5.411,2645,5.411,2646,5.411,2647,5.411,2648,6.052,2649,6.052,2650,6.052,2651,6.052,2652,6.052,2653,6.052]],["t/248",[20,1.487,132,3.689,153,2.529,170,5.087,191,3.487,403,2.949,703,4.272,797,1.97,991,3.938,992,4.272,1862,5.89,1871,6.741,1963,4.272,2079,3.49,2098,3.325,2099,3.689,2121,4.354,2196,3.929,2231,4.272,2258,3.689,2321,3.938,2339,6.699,2384,4.272,2392,3.49,2432,4.272,2500,3.938,2559,3.938,2565,7.266,2609,4.272,2654,4.778,2655,4.778,2656,4.778,2657,4.778,2658,4.778,2659,7.54,2660,4.778,2661,4.778,2662,4.778,2663,4.778,2664,6.588,2665,4.778,2666,6.588,2667,4.778]],["t/250",[29,1.587,32,1.532,50,2.709,53,1.162,120,3.873,137,2.819,149,2.819,156,1.587,170,5.949,191,3.203,204,3.784,217,3.23,223,3.996,228,4.52,229,2.524,286,3.091,296,2.897,344,2.945,397,2.303,528,2.311,564,3.872,700,2.371,1089,3.488,1352,2.819,1487,3.784,1686,5.409,2101,4.703,2119,4.52,2121,4.706,2196,3.608,2241,3.488,2392,3.091,2397,4.987,2407,3.784,2511,3.784,2558,3.784,2559,3.488,2560,3.784,2564,3.784,2573,3.488,2644,3.784,2645,3.784,2646,3.784,2647,3.784,2668,4.232,2669,4.232,2670,2.945,2671,4.232,2672,6.05,2673,4.232]],["t/252",[5,0.605,7,2.778,53,1.594,63,2.392,159,5.188,185,3.351,213,5.188,270,2.919,468,3.581,611,4.038,768,4.48,836,3.25,1147,5.188,1557,4.239,1763,5.188,1801,4.783,2674,5.803,2675,7.242,2676,6.851,2677,5.803,2678,4.783,2679,4.783,2680,4.783,2681,5.803,2682,5.803,2683,5.803,2684,5.803,2685,5.803,2686,5.803]],["t/254",[5,0.672,64,2.603,526,1.769,548,3.84,589,1.479,611,4.481,638,4.123,689,5.758,721,4.29,897,4.123,1228,4.972,1613,2.46,1699,2.655,1735,5.758,1833,5.576,1872,4.972,2507,4.972,2675,5.308,2676,5.308,2679,5.308,2680,5.308,2687,6.44]],["t/256",[5,0.865,526,2.279,589,1.565,631,4.362,688,3.708,1159,2.382,1178,4.791,1200,3.341,1267,2.803,1613,2.603,1699,2.809,1877,5.261,2688,6.092]],["t/258",[5,0.706,20,2.437,21,1.164,42,1.741,43,2.513,55,1.391,61,1.923,64,1.119,82,1.926,270,2.416,275,1.465,434,3.366,476,1.213,519,1.569,526,1.205,528,1.057,530,2.137,553,1.357,562,2.137,563,1.926,564,1.391,611,3.054,644,1.772,661,2.884,763,1.772,768,3.389,794,1.843,837,2.137,892,1.884,924,2.022,926,1.926,942,2.022,996,4.136,1007,3.206,1025,3.206,1034,2.81,1053,1.598,1177,1.843,1178,1.598,1281,1.598,1286,2.022,1287,1.926,1346,2.137,1347,2.474,1351,2.137,1356,3.389,1359,1.926,1385,2.617,1483,2.137,1506,2.022,1512,2.281,1515,2.137,1516,3.618,1522,2.281,1562,1.843,1632,1.843,1704,3.389,1752,2.137,1801,2.281,1885,3.389,1886,4.877,1887,2.474,1888,3.924,1889,2.474,1890,2.474,1891,2.474,1892,2.474,1921,2.137,1934,2.474,1935,2.474,1936,2.474,1937,2.474,2001,1.926,2675,2.281,2676,4.496,2679,3.618,2680,3.618,2688,2.474,2689,2.767,2690,2.767,2691,2.767,2692,2.767,2693,2.767,2694,2.767,2695,2.767,2696,2.767,2697,2.767,2698,2.767,2699,2.767,2700,2.767,2701,4.389,2702,2.767,2703,2.767,2704,2.767,2705,2.767,2706,2.767,2707,2.767,2708,2.767,2709,2.137,2710,2.767,2711,2.767,2712,2.767,2713,4.389]],["t/260",[5,0.892,12,3.511,468,4.419,526,1.967,589,1.963,1076,4.135,1158,4.584,1267,2.419,1613,2.736,1699,2.952]],["t/262",[302,2.815,393,3.239,526,2.362,688,3.937,1159,2.529,1200,3.547,1613,2.764,1699,2.982,2714,5.034,2715,4.819]],["t/264",[5,0.739,302,2.759,393,3.173,467,4.538,526,1.947,589,1.628,1159,2.478,1267,2.395,1613,2.708,1699,2.922,2670,4.933,2716,5.178,2717,4.093]],["t/266",[5,0.934,29,2.29,48,3.147,53,2.128,302,2.376,393,2.733,397,3.322,505,2.675,519,2.229,528,2.332,589,1.779,772,2.733,1159,2.134,1200,3.8,1267,2.876,1634,3.525,1701,4.475,2718,4.248,2719,5.032]],["t/268",[5,0.871,53,1.89,195,3.744,302,2.678,526,2.292,589,1.58,661,2.629,797,2.837,1022,2.894,1159,2.405,2113,5.026,2720,4.788,2721,5.672,2722,5.672]],["t/270",[5,0.911,29,2.141,53,2.038,302,2.222,505,2.502,519,1.642,526,1.568,587,3.523,589,1.704,772,2.555,797,2.353,1022,3.468,1159,1.995,1200,3.639,1267,2.507,1634,3.296,1701,4.286,2709,4.408,2717,4.762,2720,3.972,2723,5.164,2724,3.972,2725,4.705,2726,3.972]],["t/272",[29,2.372,156,2.372,178,3.903,195,3.442,393,2.831,471,3.543,505,2.771,526,2.376,528,2.416,537,4.62,897,4.049,1022,3.639,1159,2.211,1169,4.401,1613,2.416,1699,2.607,1731,3.652,2717,3.652,2718,4.401,2727,5.213,2728,5.213]],["t/274",[53,1.439,141,3.282,153,2.774,156,1.966,319,3.647,430,4.881,526,2.319,723,3.125,873,3.026,961,3.647,1022,3.551,1158,3.355,1267,2.671,1973,6.52,1974,5.782,2714,3.647,2723,3.647,2724,3.647,2726,3.647,2729,5.241,2730,5.241,2731,6.272,2732,5.241,2733,6.105,2734,4.686,2735,5.241,2736,5.241,2737,5.241,2738,5.241,2739,5.241,2740,4.32]],["t/276",[5,0.577,43,2.342,53,1.026,94,2.886,149,2.49,203,2.306,233,3.342,268,2.306,519,1.075,526,1.996,528,2.111,532,3.411,534,2.49,610,2.158,685,2.601,772,1.673,952,3.682,961,4.576,1022,1.572,1159,1.306,1166,2.49,1169,2.601,1267,2.975,1292,3.081,1299,4.037,1446,2.886,1614,3.342,1701,3.798,1833,2.601,1973,5.988,1974,4.556,1975,2.601,2167,3.342,2365,3.342,2731,5.88,2733,4.268,2734,4.942,2741,3.738,2742,3.738,2743,3.738,2744,3.738,2745,3.738,2746,3.342,2747,3.342,2748,3.738,2749,3.738,2750,7.267,2751,3.738,2752,5.527,2753,5.527,2754,3.738,2755,3.738,2756,6.577,2757,3.738,2758,6.577,2759,5.527,2760,3.738]],["t/278",[5,0.697,32,2.419,48,3.446,251,3.744,418,4.279,444,3.744,452,3.539,505,2.929,519,2.358,543,4.453,546,3.128,589,1.883,591,4.279,772,2.992,892,2.869,1294,4.883,1709,3.86]],["t/280",[5,0.892,12,3.511,468,4.419,526,1.967,589,1.963,1076,4.135,1267,2.419,1613,2.736,1699,2.952,1969,5.902]],["t/282",[302,2.815,393,3.239,526,2.362,688,3.937,1159,2.529,1200,3.547,1613,2.764,1699,2.982,2714,5.034,2715,4.819]],["t/284",[5,0.739,302,2.759,393,3.173,467,4.538,526,1.947,589,1.628,1159,2.478,1267,2.395,1613,2.708,1699,2.922,2670,4.933,2716,5.178,2717,4.093]],["t/286",[5,0.934,29,2.29,48,3.147,53,2.128,302,2.376,393,2.733,397,3.322,505,2.675,519,2.229,528,2.332,589,1.779,772,2.733,1159,2.134,1200,3.8,1267,2.876,1634,3.525,1701,4.475,2718,4.248,2719,5.032]],["t/288",[5,0.871,53,1.89,195,3.744,302,2.678,526,2.292,589,1.58,661,2.629,797,2.837,1022,2.894,1159,2.405,2113,5.026,2720,4.788,2721,5.672,2722,5.672]],["t/290",[5,0.911,29,2.141,53,2.038,302,2.222,505,2.502,519,1.642,526,1.568,587,3.523,589,1.704,772,2.555,797,2.353,1022,3.468,1159,1.995,1200,3.639,1267,2.507,1634,3.296,1701,4.286,2709,4.408,2717,4.762,2720,3.972,2723,5.164,2724,3.972,2725,4.705,2726,3.972]],["t/292",[29,2.372,156,2.372,178,3.903,195,3.442,393,2.831,471,3.543,505,2.771,526,2.376,528,2.416,537,4.62,897,4.049,1022,3.639,1159,2.211,1169,4.401,1613,2.416,1699,2.607,1731,3.652,2717,3.652,2718,4.401,2727,5.213,2728,5.213]],["t/294",[53,1.721,319,4.361,526,2.611,528,2.394,873,3.619,1022,3.624,1166,4.175,1267,2.662,1746,5.166,1970,5.604,2715,4.175,2723,4.361,2724,4.361,2726,4.361,2733,4.84,2740,5.166,2761,5.604,2762,6.268]],["t/296",[5,0.697,32,2.419,48,3.446,251,3.744,418,4.279,444,3.744,452,3.539,505,2.929,519,2.358,543,4.453,546,3.128,589,1.883,591,4.279,772,2.992,892,2.869,1294,4.883,1709,3.86]],["t/298",[5,0.881,12,3.441,468,4.331,526,1.927,589,1.939,1076,4.053,1267,2.371,1392,5.419,1400,4.675,1401,4.675,1613,2.681,1699,2.893]],["t/300",[302,2.787,526,2.348,688,3.897,1159,2.503,1200,3.511,1400,4.77,1401,4.77,1613,2.736,1699,2.952,2714,4.983,2715,4.77]],["t/302",[5,0.732,302,2.731,467,4.493,526,1.927,589,1.611,1159,2.453,1267,2.371,1400,4.675,1401,4.675,1613,2.681,1699,2.893,2670,4.883,2716,5.127,2717,4.053]],["t/304",[5,0.91,48,3.32,53,1.769,302,2.506,473,3.719,519,1.852,528,2.46,589,1.84,698,4.481,772,2.883,1022,2.708,1159,2.801,1200,3.158,1267,2.707,1634,3.719,1701,3.719,2718,4.481,2763,5.758]],["t/306",[122,4.103,270,2.678,528,3.188,698,4.788,1022,2.894,1159,2.405,1398,5.751,1400,4.584,1401,4.584,2764,6.152,2765,6.152,2766,6.152,2767,6.152]],["t/308",[63,3.013,156,2.742,778,4.869,873,4.221,1400,4.869,1401,4.869,1833,6.022,2678,6.025,2768,6.535]],["t/310",[5,0.711,32,2.466,48,3.513,251,3.817,418,4.362,444,3.817,452,3.607,505,2.986,519,2.386,543,4.539,546,3.188,589,1.905,772,3.05,892,2.925,1709,3.935]],["t/313",[5,0.766,53,2.383,136,3.35,144,5.022,240,3.147,253,4.103,289,2.896,298,4.63,505,2.462,528,2.146,563,3.909,589,1.879,610,3.244,623,3.742,1106,5.022,1159,1.963,1177,4.892,1178,3.244,1183,3.909,1271,5.022,1287,5.11,1392,4.337,1492,5.022,1500,4.337,2207,4.337,2632,5.022,2769,5.618,2770,7.345,2771,5.618,2772,5.618]],["t/315",[5,0.867,73,4.783,124,2.346,130,3.46,253,4.239,481,4.48,518,3.715,526,1.594,532,3.581,589,1.722,605,3.351,610,3.351,631,4.802,676,3.351,854,4.783,1022,2.44,1159,2.028,1267,2.534,1298,3.715,1385,5.24,1439,5.188,1448,3.865,1701,3.351,1877,4.48,2207,4.48,2386,4.783,2773,5.803]],["t/317",[0,2.702,5,0.547,29,2.631,50,4.491,124,2.836,138,3.828,175,4.686,589,1.611,610,3.026,676,3.026,745,4.686,831,3.355,892,2.249,894,4.686,989,4.32,997,4.32,1076,3.026,1079,3.647,1235,4.32,1267,2.37,1317,4.686,1385,4.715,1450,5.782,1483,4.047,1643,4.686,1650,4.686,2023,4.686,2774,7.015,2775,7.015,2776,5.241,2777,7.907,2778,5.241,2779,5.241,2780,5.241,2781,5.241,2782,5.241]],["t/319",[0,3.547,53,1.89,506,3.854,532,4.246,1159,2.405,1177,5.56,1267,2.325,1429,4.584,2022,5.672,2158,6.152,2207,5.313,2386,5.672,2587,6.152,2783,6.881,2784,6.881]],["t/321",[5,0.886,12,3.476,259,3.317,267,3.317,468,4.374,526,1.947,589,1.951,1076,4.093,1267,2.395,1613,2.708,1699,2.922]],["t/323",[259,3.351,267,3.351,302,2.787,526,2.348,688,3.897,1159,2.503,1200,3.511,1613,2.736,1699,2.952,2714,4.983,2715,4.77]],["t/325",[5,0.732,259,3.284,267,3.284,302,2.731,467,4.493,526,1.927,589,1.611,1159,2.453,1267,2.371,1613,2.681,1699,2.893,2670,4.883,2716,5.127,2717,4.053]],["t/327",[5,0.91,48,3.32,53,1.769,302,2.506,473,3.719,519,1.852,528,2.46,589,1.84,698,4.481,772,2.883,1022,2.708,1159,2.801,1200,3.158,1267,2.707,1634,3.719,1701,3.719,2718,4.481,2763,5.758]],["t/329",[122,4.103,259,3.22,267,3.22,270,2.678,528,3.188,698,4.788,1022,2.894,1159,2.405,1398,5.751,2764,6.152,2765,6.152,2766,6.152,2767,6.152]],["t/331",[63,3.013,156,2.742,259,3.42,267,3.42,778,4.869,873,4.221,1833,6.022,2678,6.025,2768,6.535]],["t/333",[5,0.697,32,2.419,48,3.446,251,3.744,418,4.279,444,3.744,452,3.539,505,2.929,519,2.358,543,4.453,546,3.128,589,1.883,591,4.279,772,2.992,892,2.869,1294,4.883,1709,3.86]],["t/335",[5,0.892,12,3.511,468,4.419,526,1.967,589,1.963,1076,4.135,1267,2.419,1613,2.736,1699,2.952,2024,6.402]],["t/337",[302,2.815,393,3.239,526,2.362,688,3.937,1159,2.529,1200,3.547,1613,2.764,1699,2.982,2714,5.034,2715,4.819]],["t/339",[5,0.739,302,2.759,393,3.173,467,4.538,526,1.947,589,1.628,1159,2.478,1267,2.395,1613,2.708,1699,2.922,2670,4.933,2716,5.178,2717,4.093]],["t/341",[5,0.931,29,2.27,48,3.12,53,2.116,302,2.355,393,2.709,397,3.294,505,2.652,519,2.216,528,2.312,589,1.769,772,2.709,1159,2.115,1200,3.779,1240,4.421,1267,2.864,1634,4.45,1701,4.45,2719,4.989]],["t/343",[5,0.871,53,1.89,195,3.744,302,2.678,526,2.292,589,1.58,661,2.629,797,2.837,1022,2.894,1159,2.405,2113,5.026,2720,4.788,2721,5.672,2722,5.672]],["t/345",[5,0.911,29,2.141,53,2.038,302,2.222,505,2.502,519,1.642,526,1.568,587,3.523,589,1.704,772,2.555,797,2.353,1022,3.468,1159,1.995,1200,3.639,1267,2.507,1634,3.296,1701,4.286,2709,4.408,2717,4.762,2720,3.972,2723,5.164,2724,3.972,2725,4.705,2726,3.972]],["t/347",[29,2.351,156,2.351,178,3.868,195,3.411,393,2.806,471,3.511,505,2.747,526,2.367,528,2.394,537,4.579,897,4.013,1022,3.624,1159,2.191,1169,4.361,1240,4.579,1613,2.394,1634,3.619,1699,2.584,1731,3.619,2717,3.619,2727,5.166,2728,5.166]],["t/349",[319,4.651,526,2.54,528,2.554,873,3.86,1022,3.73,1166,4.453,1746,5.51,2715,4.453,2723,4.651,2724,4.651,2726,4.651,2733,5.161,2740,5.51,2761,5.977]],["t/351",[5,0.697,32,2.419,48,3.446,251,3.744,418,4.279,444,3.744,452,3.539,505,2.929,519,2.358,543,4.453,546,3.128,589,1.883,591,4.279,772,2.992,892,2.869,1294,4.883,1709,3.86]],["t/353",[5,0.755,42,2.869,64,2.925,312,3.937,580,3.239,814,5.586,896,5.285,929,6.468,2025,5.285,2785,6.468,2786,6.468]],["t/355",[5,0.527,14,3.366,23,3.118,42,3.078,50,3.235,64,3.138,156,1.895,173,3.013,185,2.918,205,3.516,235,4.517,240,2.83,265,2.004,379,3.691,467,3.235,475,4.224,519,1.453,563,3.516,594,3.516,636,4.165,638,3.235,686,5.641,896,3.691,963,3.691,1022,2.125,1169,3.516,1181,3.366,1185,3.013,1212,5.285,1240,3.691,1259,4.165,1332,4.165,1361,4.165,2025,5.67,2785,6.939,2786,4.517,2787,5.053,2788,5.053,2789,5.053,2790,4.517,2791,4.517,2792,5.053]],["t/357",[42,2.869,273,5.034,302,2.815,636,5.963,653,5.586,889,4.178,896,5.285,1323,6.468,2793,7.235,2794,7.235,2795,7.235]],["t/359",[7,4.143,64,2.954,88,4.593,296,2.668,302,2.169,452,2.95,584,4.982,676,3.218,831,3.568,944,3.878,1350,4.593,1615,4.982,1988,4.593,2025,6.32,2055,4.593,2796,5.573,2797,7.306,2798,5.573,2799,5.573,2800,5.573,2801,7.306,2802,7.306,2803,7.306,2804,8.652,2805,5.573,2806,5.573]],["t/361",[5,0.648,11,4.538,29,2.33,34,3.587,93,3.977,125,3.046,141,2.907,268,3.834,458,3.705,542,5.121,580,2.781,598,3.705,740,5.121,777,5.121,778,5.219,831,3.977,967,5.554,1065,5.554,1636,5.554,2025,4.538,2050,5.554,2807,7.835,2808,6.213,2809,6.213,2810,6.213]],["t/363",[5,0.718,6,3.854,82,4.788,185,3.973,265,2.729,475,4.246,580,3.08,594,4.788,649,6.152,1079,4.788,1125,4.788,1158,4.405,1321,4.788,2746,6.152,2811,6.881,2812,6.881]],["t/365",[5,0.725,64,2.809,265,2.756,598,4.144,638,4.448,639,4.835,831,4.448,892,2.982,1158,4.448,1176,5.728,1497,5.365,1632,4.629,1872,5.365,2813,6.949,2814,6.949]],["t/367",[5,0.6,6,3.224,20,1.791,64,2.327,124,2.327,153,3.047,165,4.744,301,2.967,421,5.192,475,3.552,594,4.005,605,3.323,607,3.552,609,3.684,844,4.06,866,4.444,889,4.308,893,5.45,907,4.744,1181,3.834,1186,4.444,1222,5.192,1299,5.45,1321,4.005,2815,5.755,2816,7.461,2817,5.755,2818,5.755]],["t/371",[475,4.419,519,2.629,580,3.206,864,5.529,1204,6.402,1398,4.584,2819,5.902,2820,7.161,2821,6.402,2822,6.402]],["t/373",[31,2.554,53,1.769,505,2.822,519,1.852,528,2.46,548,4.779,683,3.974,1398,6.128,2015,5.308,2819,7.524,2823,8.014,2824,5.758,2825,5.758]],["t/375",[31,2.38,53,1.648,124,2.426,280,3.465,505,2.63,519,1.726,528,2.292,698,4.175,782,3.997,874,5.105,1076,3.465,1398,6.019,2819,7.75,2824,5.365,2825,5.365,2826,6.001,2827,6.001,2828,7.665,2829,5.365]],["t/377",[4,3.097,97,4.039,205,5.058,475,4.485,528,2.112,648,5.991,938,4.039,1181,3.683,1185,3.297,1238,4.943,1285,4.334,1359,3.847,1398,4.653,1557,4.039,1973,4.269,2790,4.943,2821,8.01,2830,8.625,2831,5.529,2832,5.529,2833,5.529,2834,5.529,2835,5.529,2836,5.529,2837,5.529,2838,5.529,2839,5.529,2840,5.529,2841,5.529]],["t/379",[53,1.769,429,3.32,528,2.46,548,3.84,683,3.974,685,4.481,1223,5.308,1267,2.707,1285,3.84,1318,4.972,2015,5.308,2822,7.164,2829,5.758,2842,6.44,2843,8.724,2844,6.44,2845,6.44,2846,8.014]],["t/381",[29,2.141,43,1.592,156,2.141,167,3.404,255,3.803,278,3.654,471,3.198,526,1.568,528,2.181,752,4.17,776,4.705,825,4.705,844,4.044,873,3.296,889,4.286,961,3.972,1212,4.408,1222,3.972,1267,2.507,1280,5.104,2747,5.104,2791,5.104,2847,5.709,2848,5.709,2849,5.709,2850,5.709,2851,7.422,2852,5.709,2853,5.709,2854,5.709,2855,5.709,2856,5.709]]],"invertedIndex":[["",{"_index":43,"t":{"4":{"position":[[156,1],[231,1],[625,1],[695,1]]},"6":{"position":[[274,1],[370,1]]},"8":{"position":[[298,1]]},"12":{"position":[[438,2]]},"21":{"position":[[330,1]]},"27":{"position":[[702,1],[722,1],[749,1],[835,1],[867,1],[934,1],[1040,1],[1068,1]]},"35":{"position":[[392,1],[394,3],[539,3],[551,1],[600,1],[617,1],[647,1]]},"37":{"position":[[333,1]]},"39":{"position":[[727,1],[757,1],[867,1],[882,1]]},"41":{"position":[[494,1],[496,1],[522,1],[532,1],[586,1],[671,1]]},"55":{"position":[[1001,1],[1129,1],[1147,1],[1234,1],[1267,1]]},"82":{"position":[[987,1],[1066,1],[1088,1],[1154,1],[1167,1],[1215,1],[1262,1],[1320,1],[1404,1],[1474,1]]},"84":{"position":[[574,1],[664,1],[741,1],[781,1],[832,1],[853,1],[922,2],[937,1],[1002,2],[1016,1],[1081,2],[1100,1],[1147,1],[1217,1]]},"86":{"position":[[535,1],[616,1],[668,1],[715,1],[758,1],[779,1],[848,1],[888,1],[951,1],[972,1],[1062,1],[1112,1],[1166,1]]},"92":{"position":[[172,1]]},"96":{"position":[[154,1],[174,1],[257,1]]},"98":{"position":[[330,1],[352,1],[406,1],[419,1],[478,1],[524,1]]},"100":{"position":[[348,1],[422,1]]},"102":{"position":[[724,1],[788,1],[801,2],[804,2]]},"108":{"position":[[207,1],[230,1],[314,1],[389,1],[445,1],[535,1],[615,1],[643,1],[699,1],[768,1],[844,1],[898,1],[968,1]]},"124":{"position":[[972,1],[998,1],[1101,1],[1158,1],[1259,1],[1355,1],[2107,1]]},"137":{"position":[[349,1],[374,1]]},"139":{"position":[[39,1],[64,1]]},"141":{"position":[[39,1],[55,1],[99,1],[121,1],[176,1]]},"143":{"position":[[248,1],[276,1]]},"145":{"position":[[39,1],[55,1],[103,1],[129,1],[188,1]]},"147":{"position":[[654,1],[672,1],[835,1],[902,1],[984,1]]},"150":{"position":[[109,1],[129,1],[207,1],[241,1],[294,1]]},"156":{"position":[[384,1],[404,1],[482,1],[516,1],[569,1]]},"163":{"position":[[417,1],[488,1],[716,1],[754,1]]},"192":{"position":[[469,1],[502,1],[537,1],[818,1],[848,1],[867,1],[893,1],[946,1],[1047,1],[1186,1],[1190,1],[1217,1],[1222,1],[1278,1],[1325,2],[1341,1],[1395,1],[1420,1],[1525,1],[1630,1],[1639,1],[1641,2],[1654,1],[1656,2],[1677,1],[1737,1],[1838,1],[1938,1],[2104,1],[2159,2],[2199,2],[2236,1],[2256,1],[2268,1],[2287,1],[2371,1],[2403,1],[2418,1],[2534,1],[2536,2],[2552,1],[2590,2],[2627,2],[2630,3],[2648,1],[2705,2],[2889,1],[2891,2]]},"198":{"position":[[105,1],[133,1]]},"200":{"position":[[95,1],[618,1],[645,1],[664,1],[690,1],[708,1],[715,3],[1111,3],[1118,1],[1143,1],[1251,1],[1321,2],[1451,1],[1500,1],[1592,2],[1627,1],[1684,2]]},"207":{"position":[[72,1],[211,1],[328,1],[342,1],[403,1],[560,2],[572,3],[584,1]]},"214":{"position":[[87,1]]},"218":{"position":[[30,1]]},"224":{"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]]},"226":{"position":[[713,1],[1120,1],[1130,1]]},"228":{"position":[[633,1],[642,1],[1306,1]]},"232":{"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]]},"234":{"position":[[894,1],[938,1],[949,2],[952,2],[957,5],[989,4]]},"236":{"position":[[623,1]]},"238":{"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]]},"240":{"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]]},"242":{"position":[[491,1],[863,1],[877,1],[921,1],[923,1],[925,1],[940,1],[942,1],[944,1],[959,1]]},"258":{"position":[[356,1],[389,1],[424,1],[611,1],[621,1],[652,1],[679,1],[809,1],[868,1],[977,1],[1002,1],[1073,1],[1109,1],[1181,1],[1209,2],[1393,1]]},"276":{"position":[[312,1],[367,1],[447,1],[579,1],[651,1],[700,1],[806,1]]},"381":{"position":[[285,1]]}}}],["0",{"_index":1352,"t":{"82":{"position":[[1108,2]]},"98":{"position":[[372,2]]},"100":{"position":[[172,1]]},"200":{"position":[[1324,2]]},"224":{"position":[[3333,1]]},"226":{"position":[[920,1]]},"250":{"position":[[623,1]]}}}],["0.0",{"_index":1456,"t":{"100":{"position":[[183,3]]}}}],["0.75",{"_index":1992,"t":{"200":{"position":[[692,5]]}}}],["0.95",{"_index":1596,"t":{"124":{"position":[[811,5],[1338,4]]}}}],["0}^k",{"_index":2328,"t":{"226":{"position":[[1132,4]]}}}],["1",{"_index":700,"t":{"37":{"position":[[408,1]]},"102":{"position":[[807,2]]},"200":{"position":[[92,2],[105,3],[118,1]]},"222":{"position":[[1370,2],[2472,2]]},"224":{"position":[[3157,2],[3273,1]]},"226":{"position":[[733,2]]},"228":{"position":[[1928,1],[3392,1]]},"232":{"position":[[586,2],[1068,1]]},"234":{"position":[[940,1]]},"238":{"position":[[510,2],[655,1]]},"240":{"position":[[1606,2],[2276,1]]},"250":{"position":[[628,2]]}}}],["1.0",{"_index":1457,"t":{"100":{"position":[[187,3]]},"226":{"position":[[1633,3]]},"242":{"position":[[1279,3]]}}}],["1.25\\%δ/4=1.25",{"_index":2563,"t":{"240":{"position":[[1726,16]]}}}],["1.5",{"_index":673,"t":{"35":{"position":[[535,3]]}}}],["1.96",{"_index":2610,"t":{"242":{"position":[[883,4]]}}}],["1/2",{"_index":2577,"t":{"240":{"position":[[2575,5],[2762,5]]}}}],["1/n",{"_index":2247,"t":{"224":{"position":[[3460,4]]}}}],["10",{"_index":952,"t":{"53":{"position":[[1897,2]]},"59":{"position":[[228,2]]},"82":{"position":[[1416,2]]},"130":{"position":[[180,4]]},"141":{"position":[[69,2]]},"145":{"position":[[69,2]]},"276":{"position":[[576,2],[803,2]]}}}],["100",{"_index":1943,"t":{"192":{"position":[[2270,3]]},"224":{"position":[[4459,5]]},"228":{"position":[[392,3]]},"242":{"position":[[1290,4],[1465,5],[1553,4]]}}}],["100(1",{"_index":2434,"t":{"232":{"position":[[1441,5]]},"234":{"position":[[801,5]]},"240":{"position":[[851,5]]}}}],["100*(1",{"_index":2460,"t":{"232":{"position":[[2725,6]]}}}],["100×\\times×(1",{"_index":2493,"t":{"236":{"position":[[295,13],[448,13]]}}}],["1024",{"_index":2692,"t":{"258":{"position":[[613,4]]}}}],["1080",{"_index":668,"t":{"35":{"position":[[503,4]]}}}],["1100",{"_index":712,"t":{"37":{"position":[[602,4],[613,4]]}}}],["17",{"_index":1916,"t":{"192":{"position":[[1219,2]]}}}],["18.04",{"_index":2734,"t":{"274":{"position":[[167,5]]},"276":{"position":[[7,5],[218,5]]}}}],["1920",{"_index":670,"t":{"35":{"position":[[515,4]]}}}],["1[condition",{"_index":2238,"t":{"224":{"position":[[3204,15]]}}}],["1[h(xi)=yi],\\text{acc}^+(h",{"_index":2521,"t":{"238":{"position":[[829,27]]}}}],["1[h(xi)=yi].\\text{acc",{"_index":2524,"t":{"238":{"position":[[958,23]]}}}],["1e",{"_index":2464,"t":{"232":{"position":[[2925,2]]}}}],["1st",{"_index":1658,"t":{"141":{"position":[[135,3]]},"145":{"position":[[143,3]]}}}],["2",{"_index":188,"t":{"10":{"position":[[277,1]]},"224":{"position":[[4128,2]]},"232":{"position":[[2996,1]]}}}],["2.5",{"_index":2499,"t":{"236":{"position":[[625,4]]}}}],["20",{"_index":2395,"t":{"228":{"position":[[3397,2]]}}}],["2000",{"_index":714,"t":{"37":{"position":[[625,4]]}}}],["2005",{"_index":2140,"t":{"222":{"position":[[2961,4]]},"246":{"position":[[11,5],[116,6]]}}}],["2010",{"_index":2647,"t":{"246":{"position":[[151,5]]},"250":{"position":[[774,4]]}}}],["20th",{"_index":2650,"t":{"246":{"position":[[230,4]]}}}],["23432570",{"_index":665,"t":{"35":{"position":[[465,8]]}}}],["24",{"_index":2653,"t":{"246":{"position":[[289,3]]}}}],["24.8",{"_index":2379,"t":{"228":{"position":[[2212,5],[2486,5]]}}}],["24/27",{"_index":2278,"t":{"224":{"position":[[4578,5]]}}}],["255",{"_index":1455,"t":{"100":{"position":[[174,3]]}}}],["273–306",{"_index":2643,"t":{"246":{"position":[[123,8]]}}}],["3",{"_index":2365,"t":{"228":{"position":[[1320,2]]},"276":{"position":[[197,1]]}}}],["3)).astype(np.uint8",{"_index":1471,"t":{"100":{"position":[[401,20]]}}}],["3.10",{"_index":2743,"t":{"276":{"position":[[105,5]]}}}],["3.11",{"_index":1174,"t":{"65":{"position":[[377,7]]}}}],["3.6",{"_index":2741,"t":{"276":{"position":[[31,3]]}}}],["3.7",{"_index":1699,"t":{"156":{"position":[[53,3]]},"188":{"position":[[28,3]]},"190":{"position":[[23,3]]},"196":{"position":[[28,3]]},"198":{"position":[[23,3]]},"254":{"position":[[28,3]]},"256":{"position":[[23,3]]},"260":{"position":[[99,3]]},"262":{"position":[[68,3]]},"264":{"position":[[25,3]]},"272":{"position":[[124,5]]},"280":{"position":[[99,3]]},"282":{"position":[[68,3]]},"284":{"position":[[25,3]]},"292":{"position":[[124,5]]},"298":{"position":[[115,3]]},"300":{"position":[[75,3]]},"302":{"position":[[25,3]]},"321":{"position":[[106,3]]},"323":{"position":[[74,3]]},"325":{"position":[[25,3]]},"335":{"position":[[101,3]]},"337":{"position":[[68,3]]},"339":{"position":[[25,3]]},"347":{"position":[[130,5]]}}}],["3.7.5",{"_index":2727,"t":{"272":{"position":[[147,7]]},"292":{"position":[[147,7]]},"347":{"position":[[153,7]]}}}],["3.8",{"_index":2747,"t":{"276":{"position":[[234,4]]},"381":{"position":[[27,5]]}}}],["3.9.0",{"_index":2728,"t":{"272":{"position":[[158,9]]},"292":{"position":[[158,9]]},"347":{"position":[[164,9]]}}}],["3121",{"_index":2652,"t":{"246":{"position":[[284,4]]}}}],["32",{"_index":2826,"t":{"375":{"position":[[0,2]]}}}],["350",{"_index":710,"t":{"37":{"position":[[590,3]]}}}],["3pm",{"_index":1949,"t":{"192":{"position":[[2410,3]]}}}],["4",{"_index":2373,"t":{"228":{"position":[[1933,1],[2387,2]]}}}],["400",{"_index":1528,"t":{"108":{"position":[[645,3]]}}}],["401",{"_index":1532,"t":{"108":{"position":[[701,3]]}}}],["403",{"_index":1536,"t":{"108":{"position":[[770,3]]}}}],["404",{"_index":1541,"t":{"108":{"position":[[846,3]]}}}],["429",{"_index":1545,"t":{"108":{"position":[[900,3]]}}}],["4=1.25%\\delta/4",{"_index":2562,"t":{"240":{"position":[[1706,17]]}}}],["4\\delta/4δ/4",{"_index":2556,"t":{"240":{"position":[[1509,14],[1849,15]]}}}],["4⋅(δ/4)=δ4\\cdot(\\delta/4",{"_index":2571,"t":{"240":{"position":[[2168,25]]}}}],["5",{"_index":1049,"t":{"55":{"position":[[1945,1]]},"63":{"position":[[62,1]]},"141":{"position":[[147,1]]},"145":{"position":[[155,1]]},"228":{"position":[[2866,2],[3114,2],[3213,2]]},"230":{"position":[[137,2]]},"232":{"position":[[457,2],[1049,2],[2092,3]]}}}],["500",{"_index":1548,"t":{"108":{"position":[[970,3]]}}}],["54",{"_index":2367,"t":{"228":{"position":[[1419,3],[1536,3],[1635,3]]}}}],["587",{"_index":1904,"t":{"192":{"position":[[981,4]]}}}],["5pm",{"_index":1917,"t":{"192":{"position":[[1229,3]]}}}],["6",{"_index":2465,"t":{"232":{"position":[[2928,2]]},"236":{"position":[[1078,2]]},"246":{"position":[[114,1]]}}}],["60",{"_index":1598,"t":{"124":{"position":[[855,2],[1289,2]]},"192":{"position":[[1632,2]]},"200":{"position":[[710,4]]}}}],["7",{"_index":2582,"t":{"240":{"position":[[2986,2]]}}}],["75",{"_index":936,"t":{"53":{"position":[[1264,4],[1646,3]]}}}],["8",{"_index":703,"t":{"37":{"position":[[433,2]]},"248":{"position":[[520,2]]}}}],["80",{"_index":2041,"t":{"212":{"position":[[117,3]]},"228":{"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]]}}}],["80.0",{"_index":2366,"t":{"228":{"position":[[1387,6]]}}}],["80/100",{"_index":2354,"t":{"228":{"position":[[635,6],[1299,6]]}}}],["800",{"_index":1470,"t":{"100":{"position":[[396,4]]}}}],["800x600",{"_index":1463,"t":{"100":{"position":[[291,7]]}}}],["83",{"_index":2372,"t":{"228":{"position":[[1902,4],[2186,4],[2375,4]]}}}],["83.0",{"_index":2383,"t":{"228":{"position":[[2454,6]]}}}],["86.3",{"_index":2389,"t":{"228":{"position":[[2795,6],[3100,6],[3181,6],[3315,5],[3459,5]]}}}],["89",{"_index":2279,"t":{"224":{"position":[[4586,4]]}}}],["9",{"_index":1913,"t":{"192":{"position":[[1188,1]]}}}],["9/9",{"_index":2276,"t":{"224":{"position":[[4453,3]]}}}],["95",{"_index":2101,"t":{"222":{"position":[[1466,3]]},"230":{"position":[[248,3],[356,3],[539,3],[732,3],[854,3]]},"232":{"position":[[533,3],[716,3],[818,4],[1083,3],[1934,3]]},"236":{"position":[[515,3],[679,3],[755,3],[839,3],[1022,3]]},"240":{"position":[[1623,4]]},"242":{"position":[[825,7],[916,4]]},"250":{"position":[[101,3],[154,3],[300,3]]}}}],["97.5",{"_index":2497,"t":{"236":{"position":[[559,5]]}}}],["99",{"_index":2419,"t":{"232":{"position":[[642,3],[672,3],[774,3]]}}}],["9am",{"_index":1914,"t":{"192":{"position":[[1197,3]]}}}],["_",{"_index":1354,"t":{"82":{"position":[[1145,2]]},"98":{"position":[[397,2]]}}}],["__init__(self",{"_index":1026,"t":{"55":{"position":[[1102,15]]}}}],["__main__",{"_index":2012,"t":{"200":{"position":[[1687,11]]}}}],["__name__",{"_index":2011,"t":{"200":{"position":[[1675,8]]}}}],["a1,a2,…,ana_1",{"_index":2655,"t":{"248":{"position":[[68,14]]}}}],["a_2",{"_index":2656,"t":{"248":{"position":[[83,4]]}}}],["a_i",{"_index":2662,"t":{"248":{"position":[[281,3]]}}}],["a_na1​,a2​,…,an",{"_index":2658,"t":{"248":{"position":[[96,17]]}}}],["abandoned",{"_index":830,"t":{"49":{"position":[[135,9]]},"55":{"position":[[2453,9]]}}}],["ability",{"_index":439,"t":{"21":{"position":[[1485,7]]},"55":{"position":[[21,7]]}}}],["above",{"_index":92,"t":{"6":{"position":[[203,6]]},"21":{"position":[[1447,5]]},"143":{"position":[[176,5]]},"200":{"position":[[1798,5]]},"222":{"position":[[2475,7]]},"224":{"position":[[3361,5]]},"232":{"position":[[1020,5],[1916,5]]},"240":{"position":[[9,5]]}}}],["acc+(h",{"_index":2543,"t":{"240":{"position":[[813,8]]}}}],["acc+(h)=e(x,y)∼d",{"_index":2520,"t":{"238":{"position":[[811,17]]}}}],["acc+(h)=e(x,y)∼d+​1[h(xi​)=yi​],acc−(h)=e(x,y)∼d",{"_index":2523,"t":{"238":{"position":[[906,51]]}}}],["acc+(h)=p​(n+,k+,δ/4)acc−‾(h)=p‾(n−,k−,δ/4",{"_index":2552,"t":{"240":{"position":[[1195,43]]}}}],["acc+‾(h",{"_index":2536,"t":{"240":{"position":[[641,9],[651,9]]}}}],["acc+‾(h)=p‾(n+,k+,δ/4",{"_index":2547,"t":{"240":{"position":[[975,22]]}}}],["acc+‾(h)=p‾(n+,k+,δ/4)\\underline{\\text{acc}^+}(h",{"_index":2548,"t":{"240":{"position":[[1002,49]]}}}],["acc^s(h)=1n∑i=1n1",{"_index":2227,"t":{"224":{"position":[[2995,18]]}}}],["acc^s(h)\\widehat{\\text{acc}}_s(h)accs​(h",{"_index":2353,"t":{"228":{"position":[[591,41]]}}}],["accbal(h)=acc+(h)+acc−(h)2.\\text{acc}_\\text{bal}(h",{"_index":2527,"t":{"238":{"position":[[1138,51]]}}}],["accbal(h)\\text{acc}_\\text{bal}(h)accbal​(h",{"_index":2546,"t":{"240":{"position":[[898,44]]}}}],["accbal‾(h)=(1/2)(acc+‾(h)+acc−‾(h))\\underline{\\text{acc}_\\text{bal}}(h",{"_index":2576,"t":{"240":{"position":[[2501,71]]}}}],["accd(h)=pr⁡(x,y)∼d",{"_index":2198,"t":{"224":{"position":[[2287,19]]}}}],["accd(h)\\text{acc}_d(h)accd​(h",{"_index":2352,"t":{"228":{"position":[[519,31]]}}}],["accd​(h)=(x,y)∼dpr​[h(x)=y",{"_index":2203,"t":{"224":{"position":[[2370,30]]}}}],["accept",{"_index":1428,"t":{"96":{"position":[[24,6]]},"100":{"position":[[24,6]]}}}],["acceptable",{"_index":1338,"t":{"82":{"position":[[517,10]]}}}],["accepts",{"_index":1424,"t":{"94":{"position":[[18,7]]}}}],["access",{"_index":1185,"t":{"65":{"position":[[515,6]]},"67":{"position":[[836,6]]},"69":{"position":[[440,6]]},"88":{"position":[[20,6]]},"108":{"position":[[90,6],[288,6]]},"156":{"position":[[244,6]]},"161":{"position":[[511,6]]},"188":{"position":[[113,6]]},"355":{"position":[[382,6]]},"377":{"position":[[129,6]]}}}],["accessed",{"_index":1014,"t":{"55":{"position":[[816,8]]}}}],["accessible",{"_index":1787,"t":{"175":{"position":[[309,10]]}}}],["accessing",{"_index":1762,"t":{"171":{"position":[[239,9]]}}}],["accidentally",{"_index":1737,"t":{"163":{"position":[[216,12]]}}}],["accompanied",{"_index":325,"t":{"19":{"position":[[513,11]]}}}],["according",{"_index":2047,"t":{"214":{"position":[[51,9]]}}}],["account",{"_index":256,"t":{"14":{"position":[[94,7]]},"69":{"position":[[687,7]]},"71":{"position":[[73,7]]},"88":{"position":[[8,7]]},"159":{"position":[[177,8]]},"161":{"position":[[249,8]]},"167":{"position":[[27,7]]},"171":{"position":[[266,8]]},"188":{"position":[[95,7]]},"240":{"position":[[1527,7]]}}}],["account/api",{"_index":1748,"t":{"165":{"position":[[98,11]]}}}],["accs​(h)=n1​i=1∑n​1[h(xi​)=yi",{"_index":2234,"t":{"224":{"position":[[3107,36]]}}}],["accumulate",{"_index":823,"t":{"45":{"position":[[888,10]]},"47":{"position":[[861,10]]}}}],["accuracies",{"_index":2402,"t":{"230":{"position":[[525,10]]},"238":{"position":[[728,10]]},"240":{"position":[[530,10],[2489,11]]}}}],["accuracy",{"_index":223,"t":{"12":{"position":[[495,8],[636,8]]},"78":{"position":[[419,8]]},"124":{"position":[[79,9],[159,8],[1497,8],[1557,9]]},"222":{"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]]},"224":{"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]]},"226":{"position":[[65,8]]},"228":{"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]]},"230":{"position":[[68,8],[114,8],[209,9],[288,9],[360,8],[782,8],[845,8]]},"232":{"position":[[200,9],[762,8],[1415,9],[1687,8],[2772,8]]},"234":{"position":[[101,9],[473,9],[530,8],[775,9]]},"236":{"position":[[1243,9]]},"238":{"position":[[25,8],[77,8],[130,8],[221,10],[1088,8]]},"240":{"position":[[66,8],[629,8],[2393,8],[2969,9],[3002,8]]},"242":{"position":[[114,8],[467,9],[1305,10],[1453,8],[1558,8]]},"244":{"position":[[213,8],[442,9]]},"246":{"position":[[170,8]]},"250":{"position":[[184,8],[250,8],[466,8],[577,8],[836,9]]}}}],["accurate",{"_index":1005,"t":{"55":{"position":[[517,8]]},"242":{"position":[[1715,8]]}}}],["acc−(h",{"_index":2545,"t":{"240":{"position":[[832,8]]}}}],["acc−(h)=e(x,y)∼d−​1[h(xi​)=yi",{"_index":2526,"t":{"238":{"position":[[1035,34]]}}}],["acc−(h)=p​(n−,k−,δ/4",{"_index":2555,"t":{"240":{"position":[[1436,21]]}}}],["acc−​(h",{"_index":2544,"t":{"240":{"position":[[822,9]]}}}],["acc−‾(h",{"_index":2537,"t":{"240":{"position":[[661,9],[671,9]]}}}],["acc−‾(h)=p‾(n−,k−,δ/4)\\underline{\\text{acc",{"_index":2553,"t":{"240":{"position":[[1243,44]]}}}],["achieved",{"_index":819,"t":{"45":{"position":[[789,8]]},"47":{"position":[[762,8]]}}}],["act",{"_index":2293,"t":{"226":{"position":[[253,3]]}}}],["action",{"_index":1325,"t":{"80":{"position":[[415,6]]},"84":{"position":[[252,6],[860,6]]},"224":{"position":[[1756,6]]}}}],["actively",{"_index":867,"t":{"51":{"position":[[299,8]]}}}],["actual",{"_index":2388,"t":{"228":{"position":[[2705,6]]}}}],["actually",{"_index":374,"t":{"21":{"position":[[67,8]]},"55":{"position":[[2536,8]]},"224":{"position":[[375,8]]},"228":{"position":[[1118,8]]}}}],["adapt",{"_index":431,"t":{"21":{"position":[[1290,5]]}}}],["add",{"_index":152,"t":{"8":{"position":[[304,3]]},"10":{"position":[[12,3],[231,3]]},"21":{"position":[[1172,3]]},"37":{"position":[[271,3]]},"43":{"position":[[29,3]]},"45":{"position":[[219,3]]},"47":{"position":[[192,3]]},"57":{"position":[[661,3],[773,3]]},"65":{"position":[[787,3]]},"147":{"position":[[401,3]]},"200":{"position":[[294,3]]}}}],["adding",{"_index":94,"t":{"6":{"position":[[219,6]]},"12":{"position":[[236,6],[735,6]]},"59":{"position":[[62,6]]},"276":{"position":[[281,6]]}}}],["addition",{"_index":883,"t":{"51":{"position":[[950,8]]},"120":{"position":[[3,8]]}}}],["additional",{"_index":585,"t":{"29":{"position":[[256,10]]}}}],["additionally",{"_index":1818,"t":{"181":{"position":[[208,13]]}}}],["address",{"_index":246,"t":{"12":{"position":[[999,7]]},"19":{"position":[[1188,7]]}}}],["address]:3000",{"_index":1279,"t":{"69":{"position":[[503,13]]}}}],["addressing",{"_index":1865,"t":{"186":{"position":[[1501,10]]}}}],["adds",{"_index":970,"t":{"53":{"position":[[2610,4]]}}}],["adequate",{"_index":2073,"t":{"222":{"position":[[384,8]]}}}],["adjusted",{"_index":2495,"t":{"236":{"position":[[419,8]]},"240":{"position":[[1485,8]]}}}],["advanced",{"_index":545,"t":{"27":{"position":[[545,8]]},"51":{"position":[[48,8]]}}}],["affordable",{"_index":1639,"t":{"130":{"position":[[215,10]]}}}],["ag",{"_index":2832,"t":{"377":{"position":[[49,2]]}}}],["again",{"_index":1752,"t":{"167":{"position":[[290,6]]},"228":{"position":[[3029,6]]},"234":{"position":[[614,6]]},"258":{"position":[[1430,5]]}}}],["against",{"_index":1305,"t":{"78":{"position":[[411,7]]},"124":{"position":[[71,7],[1506,7]]},"147":{"position":[[58,7]]}}}],["aggregating",{"_index":1924,"t":{"192":{"position":[[1586,11]]}}}],["ago",{"_index":1477,"t":{"102":{"position":[[181,3]]}}}],["ahead",{"_index":2745,"t":{"276":{"position":[[156,6]]}}}],["ai",{"_index":263,"t":{"14":{"position":[[196,2]]},"17":{"position":[[59,2]]},"25":{"position":[[78,2]]},"71":{"position":[[167,2]]},"130":{"position":[[106,2],[226,2]]},"154":{"position":[[69,2]]}}}],["aia_iai",{"_index":2666,"t":{"248":{"position":[[576,8],[627,8]]}}}],["aim",{"_index":2631,"t":{"244":{"position":[[608,3]]}}}],["al",{"_index":2646,"t":{"246":{"position":[[146,4]]},"250":{"position":[[769,4]]}}}],["alert",{"_index":69,"t":{"4":{"position":[[536,5]]},"200":{"position":[[1084,5],[1616,10]]}}}],["alerting",{"_index":862,"t":{"49":{"position":[[821,8]]}}}],["alerts",{"_index":845,"t":{"49":{"position":[[426,6]]},"55":{"position":[[486,6]]}}}],["algorithm",{"_index":745,"t":{"41":{"position":[[95,9]]},"317":{"position":[[315,11]]}}}],["algorithms",{"_index":1180,"t":{"65":{"position":[[434,10]]}}}],["align",{"_index":57,"t":{"4":{"position":[[340,5]]}}}],["aligned",{"_index":103,"t":{"6":{"position":[[332,7]]}}}],["allocation",{"_index":1836,"t":{"186":{"position":[[534,10],[651,10]]}}}],["allow",{"_index":2790,"t":{"355":{"position":[[363,5]]},"377":{"position":[[97,5]]}}}],["allowed",{"_index":1538,"t":{"108":{"position":[[804,7]]}}}],["allowing",{"_index":908,"t":{"53":{"position":[[214,8]]},"181":{"position":[[327,8]]}}}],["allows",{"_index":607,"t":{"33":{"position":[[57,6]]},"39":{"position":[[71,6]]},"51":{"position":[[783,6]]},"53":{"position":[[327,6]]},"69":{"position":[[182,6]]},"88":{"position":[[104,6]]},"130":{"position":[[76,6]]},"222":{"position":[[244,6]]},"367":{"position":[[271,6]]}}}],["along",{"_index":1175,"t":{"65":{"position":[[385,5]]},"154":{"position":[[94,5]]},"169":{"position":[[67,5]]}}}],["already",{"_index":253,"t":{"14":{"position":[[58,8]]},"137":{"position":[[114,7]]},"147":{"position":[[451,7]]},"313":{"position":[[175,7]]},"315":{"position":[[342,7]]}}}],["alternatively",{"_index":1741,"t":{"163":{"position":[[526,14]]}}}],["alternatives",{"_index":2753,"t":{"276":{"position":[[509,12],[745,12]]}}}],["although",{"_index":370,"t":{"21":{"position":[[0,8]]}}}],["always",{"_index":1387,"t":{"86":{"position":[[791,6]]},"222":{"position":[[1182,6],[1196,6],[1270,6],[1595,6]]},"226":{"position":[[1747,6]]},"242":{"position":[[90,6]]}}}],["ambiguity",{"_index":369,"t":{"19":{"position":[[1259,9]]}}}],["ambiguous",{"_index":382,"t":{"21":{"position":[[182,9]]},"207":{"position":[[144,9]]},"216":{"position":[[26,10]]}}}],["amount",{"_index":1215,"t":{"65":{"position":[[1089,6]]},"222":{"position":[[2296,6],[2647,6]]},"228":{"position":[[1174,6],[2929,6]]}}}],["ample",{"_index":2103,"t":{"222":{"position":[[1610,5]]}}}],["analogy",{"_index":2292,"t":{"226":{"position":[[240,8]]}}}],["analysis",{"_index":1286,"t":{"74":{"position":[[274,9]]},"124":{"position":[[299,8],[1961,9]]},"152":{"position":[[275,8]]},"192":{"position":[[3024,9]]},"258":{"position":[[1563,9]]}}}],["analytics",{"_index":617,"t":{"33":{"position":[[173,10]]},"186":{"position":[[69,9],[471,9],[1706,9]]}}}],["analyzed",{"_index":1688,"t":{"152":{"position":[[22,8]]}}}],["analyzing",{"_index":294,"t":{"17":{"position":[[313,9]]},"128":{"position":[[122,9]]},"186":{"position":[[564,9]]}}}],["and/or",{"_index":516,"t":{"25":{"position":[[715,6]]}}}],["announce",{"_index":457,"t":{"23":{"position":[[18,8]]}}}],["another",{"_index":1361,"t":{"84":{"position":[[147,7]]},"147":{"position":[[561,7]]},"355":{"position":[[522,7]]}}}],["answer",{"_index":61,"t":{"4":{"position":[[392,6]]},"6":{"position":[[41,6]]},"8":{"position":[[77,6],[358,6]]},"12":{"position":[[177,6],[713,7]]},"17":{"position":[[403,7]]},"19":{"position":[[721,7],[762,6]]},"21":{"position":[[1676,7]]},"23":{"position":[[289,6],[435,6]]},"25":{"position":[[945,6]]},"27":{"position":[[1124,6]]},"53":{"position":[[1217,6]]},"82":{"position":[[295,6]]},"124":{"position":[[120,6],[1425,6]]},"150":{"position":[[355,6]]},"152":{"position":[[166,7]]},"156":{"position":[[630,6]]},"192":{"position":[[2097,6]]},"200":{"position":[[1097,6]]},"207":{"position":[[84,6],[464,6]]},"222":{"position":[[1165,6]]},"224":{"position":[[1693,6]]},"258":{"position":[[1174,6],[1202,6]]}}}],["answered",{"_index":36,"t":{"4":{"position":[[69,8]]},"25":{"position":[[587,8]]},"90":{"position":[[623,8],[712,8]]},"210":{"position":[[35,8]]}}}],["answering",{"_index":19,"t":{"2":{"position":[[233,9]]},"17":{"position":[[114,9]]},"222":{"position":[[315,9]]}}}],["answers",{"_index":56,"t":{"4":{"position":[[332,7]]},"10":{"position":[[190,8],[303,7]]},"23":{"position":[[555,7]]},"25":{"position":[[671,8],[694,7]]},"53":{"position":[[1781,7]]},"90":{"position":[[532,7]]},"222":{"position":[[1699,7]]}}}],["anybody",{"_index":1722,"t":{"161":{"position":[[168,7]]}}}],["anyone",{"_index":461,"t":{"23":{"position":[[78,6]]}}}],["anywhere",{"_index":2815,"t":{"367":{"position":[[62,8]]}}}],["api",{"_index":892,"t":{"51":{"position":[[1204,3]]},"57":{"position":[[40,3],[445,3]]},"69":{"position":[[646,3]]},"106":{"position":[[92,3]]},"108":{"position":[[36,3],[946,3]]},"156":{"position":[[162,3],[255,4]]},"159":{"position":[[30,4],[78,4],[186,3]]},"161":{"position":[[17,3],[145,3],[186,3],[300,3],[318,3],[414,3],[521,3],[540,3]]},"163":{"position":[[49,3],[137,3],[315,3],[429,3],[558,3]]},"165":{"position":[[20,3]]},"167":{"position":[[55,3],[94,3],[339,3]]},"169":{"position":[[7,3]]},"171":{"position":[[155,3]]},"192":{"position":[[56,3],[3016,3]]},"200":{"position":[[425,3]]},"258":{"position":[[56,3],[1555,3]]},"278":{"position":[[122,3]]},"296":{"position":[[122,3]]},"310":{"position":[[122,3]]},"317":{"position":[[335,3]]},"333":{"position":[[122,3]]},"351":{"position":[[122,3]]},"365":{"position":[[88,3]]}}}],["api_2gdxmflhj",{"_index":1710,"t":{"159":{"position":[[207,16]]}}}],["apiexception",{"_index":1504,"t":{"108":{"position":[[68,13],[178,13],[370,12]]},"112":{"position":[[73,13]]}}}],["app",{"_index":595,"t":{"31":{"position":[[125,3]]},"51":{"position":[[910,3],[1009,3]]},"55":{"position":[[2498,3]]},"156":{"position":[[145,3]]}}}],["app.groundlight.ai",{"_index":1282,"t":{"69":{"position":[[698,19]]},"71":{"position":[[84,19],[291,18]]}}}],["appear",{"_index":128,"t":{"6":{"position":[[665,7]]},"90":{"position":[[810,6]]},"228":{"position":[[1710,6]]}}}],["appearing",{"_index":2275,"t":{"224":{"position":[[4437,9]]}}}],["appendices",{"_index":2637,"t":{"244":{"position":[[855,10]]}}}],["appendix",{"_index":2566,"t":{"240":{"position":[[1884,8]]}}}],["application",{"_index":270,"t":{"14":{"position":[[300,11]]},"45":{"position":[[516,11]]},"47":{"position":[[489,11]]},"49":{"position":[[4,11],[195,11]]},"51":{"position":[[69,11]]},"53":{"position":[[153,11],[338,11],[510,11],[646,11],[2454,11],[3132,11]]},"55":{"position":[[108,11],[287,11],[1324,11],[1553,11],[2018,11],[2093,11],[3524,11]]},"59":{"position":[[35,12],[161,11],[518,11]]},"63":{"position":[[174,11]]},"69":{"position":[[77,11],[165,11]]},"71":{"position":[[271,11]]},"84":{"position":[[292,11],[355,11],[972,11],[1051,11],[1135,11]]},"90":{"position":[[428,11]]},"114":{"position":[[52,11],[185,12]]},"116":{"position":[[194,12]]},"118":{"position":[[155,11]]},"120":{"position":[[78,11]]},"122":{"position":[[124,11]]},"130":{"position":[[64,11]]},"132":{"position":[[78,11],[160,11]]},"161":{"position":[[462,12]]},"186":{"position":[[30,11],[172,11],[481,11],[804,11],[1915,12]]},"192":{"position":[[33,11],[111,12],[1374,11],[2917,11]]},"200":{"position":[[402,11],[480,12]]},"252":{"position":[[163,12],[217,11]]},"258":{"position":[[33,11],[111,12],[956,11],[1456,11]]},"306":{"position":[[150,11]]},"329":{"position":[[149,11]]}}}],["application's",{"_index":959,"t":{"53":{"position":[[2134,13]]},"55":{"position":[[1517,13],[3441,13]]}}}],["applications",{"_index":546,"t":{"27":{"position":[[554,12]]},"39":{"position":[[427,12]]},"51":{"position":[[231,12],[1319,12]]},"63":{"position":[[364,13]]},"74":{"position":[[118,12],[191,12],[333,12]]},"76":{"position":[[7,13],[56,12]]},"78":{"position":[[56,12],[331,13],[919,13],[1035,13],[1089,13],[1158,12]]},"106":{"position":[[14,12]]},"122":{"position":[[251,12]]},"126":{"position":[[73,13]]},"134":{"position":[[111,13]]},"171":{"position":[[212,12],[298,12]]},"173":{"position":[[91,12]]},"204":{"position":[[308,12]]},"278":{"position":[[146,12]]},"296":{"position":[[146,12]]},"310":{"position":[[147,12]]},"333":{"position":[[146,12]]},"351":{"position":[[146,12]]}}}],["applied",{"_index":2160,"t":{"224":{"position":[[981,7]]}}}],["apply",{"_index":1318,"t":{"78":{"position":[[946,5]]},"134":{"position":[[27,5]]},"230":{"position":[[316,5]]},"379":{"position":[[159,5]]}}}],["approach",{"_index":405,"t":{"21":{"position":[[589,8]]},"55":{"position":[[2302,8]]},"59":{"position":[[320,9]]}}}],["appropriate",{"_index":969,"t":{"53":{"position":[[2523,11]]},"65":{"position":[[1273,11]]},"116":{"position":[[20,11]]},"238":{"position":[[250,11]]}}}],["appropriately",{"_index":366,"t":{"19":{"position":[[1206,14]]}}}],["approximate",{"_index":2134,"t":{"222":{"position":[[2692,11]]}}}],["approximates",{"_index":2618,"t":{"242":{"position":[[1104,12]]}}}],["approximating",{"_index":2589,"t":{"242":{"position":[[217,13]]}}}],["approximation",{"_index":2591,"t":{"242":{"position":[[306,13],[1778,14]]}}}],["app’s",{"_index":877,"t":{"51":{"position":[[762,5]]}}}],["apt",{"_index":1974,"t":{"198":{"position":[[160,3]]},"274":{"position":[[119,3],[135,3]]},"276":{"position":[[352,3],[393,3]]}}}],["arch",{"_index":2737,"t":{"274":{"position":[[245,4]]}}}],["architecture",{"_index":818,"t":{"45":{"position":[[776,12]]},"47":{"position":[[749,12]]},"51":{"position":[[557,12],[612,12]]},"53":{"position":[[49,12],[265,12],[3103,12]]},"55":{"position":[[550,12]]}}}],["arduino",{"_index":2807,"t":{"361":{"position":[[33,7],[223,8]]}}}],["area",{"_index":1871,"t":{"186":{"position":[[1830,5]]},"248":{"position":[[430,4],[556,4],[673,4]]}}}],["areas",{"_index":1862,"t":{"186":{"position":[[1395,5],[1539,6]]},"248":{"position":[[506,6],[722,6]]}}}],["argument",{"_index":1740,"t":{"163":{"position":[[516,9]]}}}],["arm",{"_index":698,"t":{"37":{"position":[[352,3]]},"304":{"position":[[114,3]]},"306":{"position":[[121,3]]},"327":{"position":[[114,3]]},"329":{"position":[[120,3]]},"375":{"position":[[7,3]]}}}],["arms",{"_index":1814,"t":{"181":{"position":[[93,5]]}}}],["armv7.yml",{"_index":2828,"t":{"375":{"position":[[87,10],[135,9]]}}}],["around",{"_index":286,"t":{"17":{"position":[[231,6]]},"55":{"position":[[709,6]]},"224":{"position":[[4046,6]]},"244":{"position":[[426,6]]},"250":{"position":[[14,6]]}}}],["array",{"_index":1482,"t":{"102":{"position":[[642,6]]}}}],["arrays",{"_index":1427,"t":{"94":{"position":[[91,7]]},"98":{"position":[[125,7]]},"100":{"position":[[47,7]]},"102":{"position":[[95,6],[388,6]]}}}],["arrived",{"_index":1058,"t":{"55":{"position":[[2696,7],[3116,7]]}}}],["arrives",{"_index":978,"t":{"53":{"position":[[2981,8]]}}}],["arrow",{"_index":100,"t":{"6":{"position":[[305,5]]}}}],["ask",{"_index":523,"t":{"25":{"position":[[892,3]]},"29":{"position":[[215,3]]},"200":{"position":[[1057,3]]},"207":{"position":[[38,3],[137,3]]},"216":{"position":[[126,3]]}}}],["ask.py",{"_index":1705,"t":{"156":{"position":[[338,6],[678,6]]}}}],["ask_async",{"_index":925,"t":{"53":{"position":[[843,9]]},"82":{"position":[[139,9],[195,9],[443,9]]}}}],["asked",{"_index":1388,"t":{"86":{"position":[[815,5]]}}}],["asking",{"_index":33,"t":{"4":{"position":[[27,6]]},"6":{"position":[[515,6]]},"19":{"position":[[135,7]]},"21":{"position":[[452,7]]},"67":{"position":[[417,6]]},"194":{"position":[[56,6]]}}}],["aspects",{"_index":1293,"t":{"78":{"position":[[36,7]]}}}],["assembly",{"_index":1797,"t":{"177":{"position":[[251,9]]}}}],["assess",{"_index":222,"t":{"12":{"position":[[479,6]]}}}],["assessing",{"_index":2625,"t":{"244":{"position":[[59,9]]}}}],["assigned",{"_index":1754,"t":{"169":{"position":[[142,8]]}}}],["assist",{"_index":593,"t":{"31":{"position":[[30,7]]},"175":{"position":[[45,6]]}}}],["assistance",{"_index":2809,"t":{"361":{"position":[[159,10]]}}}],["associated",{"_index":2175,"t":{"224":{"position":[[1632,10]]},"226":{"position":[[818,10]]},"230":{"position":[[679,10]]}}}],["assume",{"_index":1343,"t":{"82":{"position":[[808,6]]},"84":{"position":[[343,6]]}}}],["assumed",{"_index":87,"t":{"6":{"position":[[112,7]]}}}],["assuming",{"_index":2670,"t":{"250":{"position":[[373,9]]},"264":{"position":[[0,8]]},"284":{"position":[[0,8]]},"302":{"position":[[0,8]]},"325":{"position":[[0,8]]},"339":{"position":[[0,8]]}}}],["assumption",{"_index":2171,"t":{"224":{"position":[[1340,10]]}}}],["assumptions",{"_index":2148,"t":{"224":{"position":[[397,12]]}}}],["async",{"_index":1380,"t":{"86":{"position":[[160,5],[724,5]]}}}],["asynchronous",{"_index":1310,"t":{"78":{"position":[[610,12],[668,12]]},"80":{"position":[[55,12]]}}}],["asynchronously",{"_index":1311,"t":{"78":{"position":[[718,14]]},"82":{"position":[[114,14]]},"86":{"position":[[31,15],[821,14]]}}}],["attached",{"_index":1080,"t":{"57":{"position":[[531,8]]},"65":{"position":[[1318,9],[1742,9]]}}}],["attempting",{"_index":1378,"t":{"86":{"position":[[94,10]]}}}],["attention",{"_index":159,"t":{"8":{"position":[[527,9]]},"252":{"position":[[387,9]]}}}],["audit",{"_index":1669,"t":{"147":{"position":[[511,5]]}}}],["auroc",{"_index":2090,"t":{"222":{"position":[[1073,6]]}}}],["authenticate",{"_index":1707,"t":{"159":{"position":[[97,12]]}}}],["authentication",{"_index":1078,"t":{"57":{"position":[[152,15],[494,15]]}}}],["authorize",{"_index":1708,"t":{"159":{"position":[[133,9]]}}}],["autodiscovered",{"_index":724,"t":{"39":{"position":[[303,14]]}}}],["autodiscovery",{"_index":717,"t":{"39":{"position":[[46,13],[191,13],[402,13],[663,13]]}}}],["automatically",{"_index":473,"t":{"23":{"position":[[371,13]]},"25":{"position":[[161,13]]},"39":{"position":[[85,13]]},"57":{"position":[[1103,13]]},"59":{"position":[[685,13]]},"65":{"position":[[1764,13]]},"124":{"position":[[460,13]]},"152":{"position":[[73,13]]},"163":{"position":[[288,13]]},"304":{"position":[[142,13]]},"327":{"position":[[142,13]]}}}],["automating",{"_index":1775,"t":{"175":{"position":[[55,10]]}}}],["automation",{"_index":1768,"t":{"173":{"position":[[148,10]]},"177":{"position":[[60,10]]}}}],["available",{"_index":598,"t":{"31":{"position":[[170,9]]},"65":{"position":[[913,10],[1157,9]]},"82":{"position":[[308,9]]},"86":{"position":[[431,9]]},"186":{"position":[[713,9]]},"222":{"position":[[2909,10]]},"232":{"position":[[2165,9]]},"244":{"position":[[581,9]]},"361":{"position":[[84,9]]},"365":{"position":[[96,10]]}}}],["avenues",{"_index":376,"t":{"21":{"position":[[85,7]]}}}],["average",{"_index":2085,"t":{"222":{"position":[[777,7]]},"238":{"position":[[1120,7]]}}}],["averaged",{"_index":2580,"t":{"240":{"position":[[2911,8]]}}}],["averages",{"_index":2583,"t":{"240":{"position":[[3040,8]]}}}],["averaging",{"_index":2575,"t":{"240":{"position":[[2405,9]]}}}],["avoid",{"_index":1190,"t":{"65":{"position":[[644,5]]},"112":{"position":[[87,5]]},"163":{"position":[[210,5]]}}}],["avoiding",{"_index":395,"t":{"21":{"position":[[403,8]]},"55":{"position":[[467,8]]}}}],["await",{"_index":1082,"t":{"57":{"position":[[576,5]]}}}],["away",{"_index":1692,"t":{"152":{"position":[[392,4]]},"192":{"position":[[1538,4]]}}}],["awesome",{"_index":51,"t":{"4":{"position":[[246,9]]}}}],["aws",{"_index":2820,"t":{"371":{"position":[[70,3]]}}}],["axis",{"_index":2337,"t":{"226":{"position":[[1350,4],[1410,4],[1559,5]]}}}],["b77d3a8f",{"_index":716,"t":{"37":{"position":[[690,8]]}}}],["back",{"_index":1119,"t":{"61":{"position":[[60,5]]},"120":{"position":[[192,4]]},"152":{"position":[[617,4]]},"234":{"position":[[10,4]]}}}],["backend",{"_index":165,"t":{"8":{"position":[[647,7]]},"10":{"position":[[86,7]]},"367":{"position":[[319,7]]}}}],["backoff",{"_index":1570,"t":{"118":{"position":[[65,7]]}}}],["backs",{"_index":522,"t":{"25":{"position":[[867,5]]}}}],["bad",{"_index":1529,"t":{"108":{"position":[[649,3]]},"207":{"position":[[580,3]]}}}],["balance",{"_index":1493,"t":{"102":{"position":[[1031,7]]},"124":{"position":[[1489,7]]}}}],["balanced",{"_index":229,"t":{"12":{"position":[[627,8]]},"222":{"position":[[733,8],[752,8],[986,8],[1414,8],[1537,8],[1898,8],[2069,8],[2254,8],[3054,8]]},"224":{"position":[[51,8]]},"232":{"position":[[191,8]]},"236":{"position":[[1234,8]]},"238":{"position":[[16,8],[212,8],[1079,8]]},"240":{"position":[[57,8],[2384,8],[2960,8],[2993,8]]},"244":{"position":[[204,8],[433,8]]},"246":{"position":[[161,8]]},"250":{"position":[[827,8]]}}}],["bandwidth",{"_index":1395,"t":{"88":{"position":[[190,10]]}}}],["bar",{"_index":111,"t":{"6":{"position":[[411,3]]}}}],["bars",{"_index":2124,"t":{"222":{"position":[[2413,4]]}}}],["bar{p}(n",{"_index":2437,"t":{"232":{"position":[[1544,12]]}}}],["based",{"_index":141,"t":{"8":{"position":[[97,5]]},"53":{"position":[[2154,5]]},"55":{"position":[[3343,5]]},"57":{"position":[[267,5]]},"78":{"position":[[976,5]]},"80":{"position":[[422,5]]},"84":{"position":[[259,5],[867,5],[958,5],[1037,5],[1121,5]]},"128":{"position":[[159,5]]},"132":{"position":[[132,5]]},"134":{"position":[[57,5]]},"173":{"position":[[24,5]]},"186":{"position":[[1909,5]]},"210":{"position":[[86,5]]},"222":{"position":[[2725,5],[2814,5]]},"234":{"position":[[228,5]]},"240":{"position":[[93,5],[541,5]]},"242":{"position":[[1675,5],[1758,5]]},"274":{"position":[[99,5],[201,5]]},"361":{"position":[[41,5]]}}}],["basics",{"_index":2749,"t":{"276":{"position":[[381,6]]}}}],["basler",{"_index":640,"t":{"33":{"position":[[476,6],[496,6]]},"35":{"position":[[280,6]]}}}],["bayesian",{"_index":2671,"t":{"250":{"position":[[723,8]]}}}],["bear",{"_index":346,"t":{"19":{"position":[[834,4]]}}}],["become",{"_index":950,"t":{"53":{"position":[[1844,6],[2012,6]]},"59":{"position":[[366,6]]},"175":{"position":[[297,6]]}}}],["becomes",{"_index":317,"t":{"19":{"position":[[318,7]]},"45":{"position":[[178,7]]},"47":{"position":[[151,7]]}}}],["before",{"_index":1359,"t":{"82":{"position":[[1427,6]]},"102":{"position":[[476,6],[684,6]]},"124":{"position":[[708,6]]},"171":{"position":[[328,6]]},"258":{"position":[[1414,6]]},"377":{"position":[[0,6]]}}}],["behave",{"_index":244,"t":{"12":{"position":[[976,6]]}}}],["behavior",{"_index":691,"t":{"37":{"position":[[163,8]]},"120":{"position":[[210,9]]},"186":{"position":[[853,9]]}}}],["behind",{"_index":472,"t":{"23":{"position":[[335,6]]},"222":{"position":[[2524,6]]}}}],["being",{"_index":1828,"t":{"186":{"position":[[240,5]]},"226":{"position":[[387,5]]}}}],["bell",{"_index":2335,"t":{"226":{"position":[[1330,5],[1765,4]]}}}],["below",{"_index":153,"t":{"8":{"position":[[414,6]]},"39":{"position":[[621,5]]},"124":{"position":[[1890,5]]},"204":{"position":[[35,5]]},"224":{"position":[[3492,5]]},"226":{"position":[[1173,5],[1844,6]]},"228":{"position":[[778,5],[1841,5]]},"232":{"position":[[2635,6]]},"236":{"position":[[727,6]]},"240":{"position":[[2885,6]]},"244":{"position":[[866,6]]},"248":{"position":[[407,5]]},"274":{"position":[[182,7]]},"367":{"position":[[259,6]]}}}],["belt",{"_index":2029,"t":{"207":{"position":[[255,4],[321,6]]}}}],["beneficial",{"_index":911,"t":{"53":{"position":[[294,10]]},"186":{"position":[[500,10]]}}}],["benefit",{"_index":2584,"t":{"242":{"position":[[9,7]]}}}],["best",{"_index":1,"t":{"2":{"position":[[16,4],[162,4]]},"10":{"position":[[129,4]]},"19":{"position":[[357,4]]},"21":{"position":[[999,4]]},"25":{"position":[[73,4],[187,4],[940,4]]},"69":{"position":[[861,4]]},"110":{"position":[[52,4]]},"122":{"position":[[199,4]]},"124":{"position":[[231,4]]},"161":{"position":[[111,4],[272,4]]},"163":{"position":[[101,4]]}}}],["beta",{"_index":1682,"t":{"150":{"position":[[418,6]]}}}],["better",{"_index":1588,"t":{"124":{"position":[[152,6],[529,6]]},"147":{"position":[[285,6]]},"224":{"position":[[4671,6]]},"244":{"position":[[647,6]]}}}],["between",{"_index":1560,"t":{"114":{"position":[[113,7]]},"181":{"position":[[181,7]]}}}],["beyond",{"_index":329,"t":{"19":{"position":[[569,6]]}}}],["bgr",{"_index":1441,"t":{"98":{"position":[[158,3]]},"100":{"position":[[100,3],[463,3]]},"102":{"position":[[30,3],[133,3],[212,3],[770,3]]}}}],["bgr_img",{"_index":1484,"t":{"102":{"position":[[780,7]]}}}],["bias",{"_index":2286,"t":{"226":{"position":[[163,4],[551,5],[1037,4],[1868,4]]},"232":{"position":[[376,4]]}}}],["biased",{"_index":2305,"t":{"226":{"position":[[533,6]]},"228":{"position":[[106,6]]},"232":{"position":[[358,6]]},"234":{"position":[[156,6]]}}}],["bin/bash",{"_index":1981,"t":{"200":{"position":[[57,11]]}}}],["binary",{"_index":280,"t":{"17":{"position":[[124,6],[396,6]]},"19":{"position":[[936,6]]},"55":{"position":[[368,6]]},"207":{"position":[[42,6]]},"210":{"position":[[17,6]]},"218":{"position":[[14,6]]},"220":{"position":[[23,7]]},"222":{"position":[[862,6]]},"224":{"position":[[1643,6]]},"238":{"position":[[40,6]]},"375":{"position":[[30,6]]}}}],["binom",{"_index":2458,"t":{"232":{"position":[[2666,5]]}}}],["binom.cdf",{"_index":2447,"t":{"232":{"position":[[2219,10]]}}}],["binom.cdf(k",{"_index":2462,"t":{"232":{"position":[[2867,12]]}}}],["binomial",{"_index":226,"t":{"12":{"position":[[587,8]]},"222":{"position":[[2583,8],[2827,8]]},"226":{"position":[[416,8],[1240,8],[1726,8],[1804,8]]},"228":{"position":[[803,8],[1323,8],[1502,8],[2390,8],[3117,8]]},"232":{"position":[[1460,8],[2149,8]]},"234":{"position":[[820,8]]},"240":{"position":[[554,8]]},"242":{"position":[[50,8],[235,8],[382,8],[1688,8]]}}}],["binomial's",{"_index":2398,"t":{"230":{"position":[[147,10]]},"232":{"position":[[233,10]]}}}],["binomial_upper_bound(n",{"_index":2459,"t":{"232":{"position":[[2676,23]]}}}],["bisection",{"_index":2457,"t":{"232":{"position":[[2599,9]]}}}],["bit",{"_index":782,"t":{"45":{"position":[[68,3]]},"47":{"position":[[41,3]]},"49":{"position":[[764,3]]},"55":{"position":[[1822,3]]},"67":{"position":[[1045,3]]},"228":{"position":[[1886,3]]},"375":{"position":[[3,3]]}}}],["black",{"_index":290,"t":{"17":{"position":[[265,5]]},"19":{"position":[[1029,5]]},"212":{"position":[[91,5]]},"224":{"position":[[3855,5]]}}}],["blocked",{"_index":157,"t":{"8":{"position":[[487,8]]},"19":{"position":[[206,7]]},"108":{"position":[[300,10]]}}}],["blocking",{"_index":918,"t":{"53":{"position":[[589,8]]}}}],["blog",{"_index":420,"t":{"21":{"position":[[985,4]]},"69":{"position":[[923,4]]},"222":{"position":[[2127,4],[2488,4]]}}}],["blue",{"_index":1488,"t":{"102":{"position":[[865,4]]},"224":{"position":[[3792,4]]}}}],["blurred",{"_index":328,"t":{"19":{"position":[[561,7]]}}}],["board",{"_index":2785,"t":{"353":{"position":[[84,6]]},"355":{"position":[[108,6],[229,5],[341,6]]}}}],["boards",{"_index":2797,"t":{"359":{"position":[[26,7],[51,6]]}}}],["body",{"_index":1895,"t":{"192":{"position":[[807,6]]}}}],["body=daily_summary",{"_index":1961,"t":{"192":{"position":[[2859,19]]}}}],["boilerplate",{"_index":1077,"t":{"57":{"position":[[130,11]]}}}],["bool",{"_index":1032,"t":{"55":{"position":[[1200,6],[1269,5]]}}}],["boot",{"_index":1263,"t":{"67":{"position":[[984,5]]}}}],["borderline",{"_index":442,"t":{"21":{"position":[[1584,10]]}}}],["bot",{"_index":890,"t":{"51":{"position":[[1132,3],[1200,3]]},"53":{"position":[[2677,4],[2863,4],[2901,4],[2994,3]]},"57":{"position":[[36,3],[192,3],[301,3],[441,3],[688,4],[836,3],[914,3],[1093,3]]}}}],["both",{"_index":183,"t":{"10":{"position":[[174,4]]},"242":{"position":[[1705,4]]}}}],["bottlenecks",{"_index":1789,"t":{"177":{"position":[[97,12]]}}}],["bottom",{"_index":711,"t":{"37":{"position":[[594,7]]},"67":{"position":[[241,6]]},"228":{"position":[[1350,8],[2417,8],[3144,8]]},"236":{"position":[[888,7]]}}}],["bound",{"_index":2121,"t":{"222":{"position":[[2232,5],[2990,6]]},"224":{"position":[[1211,5]]},"228":{"position":[[253,5],[492,5],[710,6],[1696,5],[1777,5],[1812,6],[3510,6]]},"230":{"position":[[269,5],[753,5]]},"232":{"position":[[554,6],[663,6],[693,5],[726,6],[844,5],[1104,6],[1486,5],[1955,6],[2759,5]]},"234":{"position":[[313,5],[400,5],[517,5],[561,5],[846,5]]},"236":{"position":[[393,5]]},"240":{"position":[[47,5],[1875,5],[2127,5]]},"242":{"position":[[199,5],[1406,5]]},"248":{"position":[[22,5],[372,5],[545,6]]},"250":{"position":[[122,5],[210,6],[282,5],[515,6],[603,5]]}}}],["bounded",{"_index":2476,"t":{"234":{"position":[[195,7]]},"240":{"position":[[3014,7]]}}}],["bounding",{"_index":2560,"t":{"240":{"position":[[1650,8]]},"250":{"position":[[354,8]]}}}],["bounds",{"_index":218,"t":{"12":{"position":[[391,6],[523,6]]},"230":{"position":[[386,6],[457,6],[712,7]]},"232":{"position":[[92,7],[746,6],[1260,7]]},"234":{"position":[[85,6]]},"236":{"position":[[47,6],[162,6],[592,7],[812,6],[870,6],[913,6],[979,6],[1124,6]]},"240":{"position":[[493,6],[597,6],[1807,6],[1955,6],[2085,7],[2251,6],[2373,6],[2446,6],[2936,6],[3072,6]]},"242":{"position":[[26,6]]}}}],["box",{"_index":2840,"t":{"377":{"position":[[283,3]]}}}],["boxes",{"_index":2030,"t":{"207":{"position":[[260,7],[299,5]]}}}],["break",{"_index":1039,"t":{"55":{"position":[[1407,5]]}}}],["breaking",{"_index":1687,"t":{"150":{"position":[[521,8]]}}}],["brew",{"_index":1970,"t":{"198":{"position":[[113,4]]},"294":{"position":[[117,4]]}}}],["brief",{"_index":2636,"t":{"244":{"position":[[849,5]]}}}],["brightness",{"_index":754,"t":{"41":{"position":[[337,10]]}}}],["brings",{"_index":2117,"t":{"222":{"position":[[2094,6]]}}}],["broad",{"_index":1555,"t":{"112":{"position":[[102,5]]}}}],["brodersen",{"_index":2644,"t":{"246":{"position":[[132,10]]},"250":{"position":[[756,9]]}}}],["broken",{"_index":871,"t":{"51":{"position":[[628,6]]},"53":{"position":[[661,6]]}}}],["browser",{"_index":1212,"t":{"65":{"position":[[1023,8],[1264,8],[1792,8]]},"69":{"position":[[526,8]]},"355":{"position":[[374,7],[530,7]]},"381":{"position":[[200,7]]}}}],["brush",{"_index":931,"t":{"53":{"position":[[1117,6]]}}}],["build",{"_index":605,"t":{"31":{"position":[[255,5]]},"33":{"position":[[31,5]]},"51":{"position":[[39,5]]},"63":{"position":[[150,5]]},"74":{"position":[[105,5]]},"106":{"position":[[150,5]]},"110":{"position":[[92,5]]},"130":{"position":[[90,5]]},"150":{"position":[[0,5]]},"315":{"position":[[223,5]]},"367":{"position":[[81,5]]}}}],["building",{"_index":452,"t":{"21":{"position":[[1796,8]]},"27":{"position":[[536,8]]},"51":{"position":[[1310,8]]},"71":{"position":[[9,8]]},"78":{"position":[[47,8],[1133,8]]},"84":{"position":[[312,9]]},"106":{"position":[[5,8]]},"204":{"position":[[292,8]]},"278":{"position":[[137,8]]},"296":{"position":[[137,8]]},"310":{"position":[[137,9]]},"333":{"position":[[137,8]]},"351":{"position":[[137,8]]},"359":{"position":[[95,8]]}}}],["built",{"_index":622,"t":{"33":{"position":[[222,5]]},"59":{"position":[[643,5]]},"74":{"position":[[346,5]]},"76":{"position":[[69,5]]}}}],["bunch",{"_index":2773,"t":{"315":{"position":[[25,5]]}}}],["burner",{"_index":75,"t":{"4":{"position":[[597,6],[679,6]]}}}],["busier",{"_index":1842,"t":{"186":{"position":[[871,6]]}}}],["business",{"_index":601,"t":{"31":{"position":[[209,8]]},"55":{"position":[[3487,9]]},"132":{"position":[[272,8]]}}}],["business's",{"_index":1911,"t":{"192":{"position":[[1136,10]]}}}],["button",{"_index":208,"t":{"12":{"position":[[147,6],[319,6]]},"67":{"position":[[366,7]]},"167":{"position":[[105,7]]},"171":{"position":[[68,6]]}}}],["c",{"_index":2721,"t":{"268":{"position":[[125,1]]},"288":{"position":[[125,1]]},"343":{"position":[[125,1]]}}}],["cable",{"_index":2788,"t":{"355":{"position":[[265,6]]}}}],["calibrated",{"_index":514,"t":{"25":{"position":[[660,10]]}}}],["call",{"_index":1502,"t":{"108":{"position":[[40,5]]},"143":{"position":[[203,5]]},"159":{"position":[[70,4]]},"224":{"position":[[1493,4]]}}}],["called",{"_index":1268,"t":{"69":{"position":[[89,6]]},"224":{"position":[[2922,6]]},"236":{"position":[[255,6]]}}}],["calls",{"_index":1498,"t":{"106":{"position":[[96,6]]}}}],["cam",{"_index":1350,"t":{"82":{"position":[[1062,3]]},"98":{"position":[[326,3]]},"359":{"position":[[272,3]]}}}],["cam.read",{"_index":1355,"t":{"82":{"position":[[1156,10]]},"98":{"position":[[408,10]]}}}],["cam.release",{"_index":1360,"t":{"82":{"position":[[1460,13]]},"98":{"position":[[510,13]]}}}],["camera",{"_index":64,"t":{"4":{"position":[[471,6]]},"8":{"position":[[241,7]]},"19":{"position":[[410,6]]},"27":{"position":[[172,6],[657,6],[695,6],[992,6]]},"35":{"position":[[82,6],[95,6],[114,6],[415,6]]},"39":{"position":[[250,7]]},"43":{"position":[[87,6]]},"45":{"position":[[723,6]]},"47":{"position":[[696,6]]},"51":{"position":[[327,6],[365,6]]},"53":{"position":[[754,6],[1477,6]]},"80":{"position":[[306,6]]},"82":{"position":[[1101,6],[1196,6],[1488,6]]},"98":{"position":[[365,6],[538,6]]},"130":{"position":[[151,7]]},"186":{"position":[[1768,6],[1840,6]]},"188":{"position":[[79,6]]},"192":{"position":[[423,6]]},"204":{"position":[[192,6]]},"254":{"position":[[79,6]]},"258":{"position":[[310,6]]},"353":{"position":[[77,6]]},"355":{"position":[[101,6],[222,6],[334,6]]},"359":{"position":[[192,6],[241,6]]},"365":{"position":[[53,6]]},"367":{"position":[[377,6]]}}}],["camera.grab",{"_index":565,"t":{"27":{"position":[[1042,13]]}}}],["camera.release",{"_index":573,"t":{"27":{"position":[[1201,16]]}}}],["cameras",{"_index":634,"t":{"33":{"position":[[402,7],[453,8],[487,8],[508,8],[543,8]]},"37":{"position":[[21,7],[228,7],[303,7]]},"39":{"position":[[114,7],[496,8],[575,7],[803,7]]},"49":{"position":[[182,8]]},"51":{"position":[[270,7]]},"53":{"position":[[415,8],[459,7]]},"102":{"position":[[242,7]]},"104":{"position":[[185,7],[314,7],[325,7]]},"128":{"position":[[165,8]]}}}],["campaigns",{"_index":1849,"t":{"186":{"position":[[1001,9]]}}}],["can't",{"_index":603,"t":{"31":{"position":[[228,5]]},"232":{"position":[[2382,5]]}}}],["can’t",{"_index":155,"t":{"8":{"position":[[448,5]]}}}],["cap",{"_index":1887,"t":{"192":{"position":[[465,3]]},"258":{"position":[[352,3]]}}}],["cap.read",{"_index":1889,"t":{"192":{"position":[[504,10]]},"258":{"position":[[391,10]]}}}],["cap.release",{"_index":1890,"t":{"192":{"position":[[515,13]]},"258":{"position":[[402,13]]}}}],["capabilities",{"_index":277,"t":{"17":{"position":[[27,12]]},"78":{"position":[[1228,13]]},"181":{"position":[[142,12]]}}}],["capture",{"_index":1356,"t":{"82":{"position":[[1169,7]]},"98":{"position":[[421,7]]},"192":{"position":[[397,7],[1887,7]]},"258":{"position":[[284,7],[1377,7]]}}}],["capture_image",{"_index":1886,"t":{"192":{"position":[[448,16],[1840,15],[2957,13]]},"258":{"position":[[335,16],[1075,15],[1496,13]]}}}],["captured",{"_index":765,"t":{"41":{"position":[[722,11]]}}}],["capturer",{"_index":923,"t":{"53":{"position":[[703,9],[1390,9],[1449,8],[1740,8],[1947,8]]}}}],["captures",{"_index":530,"t":{"27":{"position":[[149,8]]},"53":{"position":[[731,8]]},"192":{"position":[[2929,8]]},"258":{"position":[[1468,8]]}}}],["car",{"_index":127,"t":{"6":{"position":[[655,3]]}}}],["card",{"_index":1219,"t":{"65":{"position":[[1147,5]]},"67":{"position":[[86,5],[335,4],[694,4],[756,4]]}}}],["cardboard",{"_index":2032,"t":{"207":{"position":[[289,9]]}}}],["care",{"_index":2075,"t":{"222":{"position":[[448,4],[521,4]]}}}],["careful",{"_index":2064,"t":{"222":{"position":[[23,7]]}}}],["case",{"_index":120,"t":{"6":{"position":[[574,5]]},"8":{"position":[[574,5]]},"19":{"position":[[102,4]]},"39":{"position":[[586,4]]},"82":{"position":[[541,4]]},"222":{"position":[[121,5]]},"224":{"position":[[435,4],[4337,5]]},"250":{"position":[[442,5],[541,5]]}}}],["cases",{"_index":137,"t":{"8":{"position":[[41,6],[291,6],[615,5]]},"12":{"position":[[193,6]]},"21":{"position":[[192,6],[1614,5]]},"74":{"position":[[220,6]]},"222":{"position":[[612,5]]},"230":{"position":[[564,6]]},"250":{"position":[[311,5]]}}}],["catch",{"_index":1551,"t":{"112":{"position":[[0,5]]},"122":{"position":[[84,5]]}}}],["catching",{"_index":1554,"t":{"112":{"position":[[93,8]]}}}],["cause",{"_index":2783,"t":{"319":{"position":[[123,5]]}}}],["cautious",{"_index":1742,"t":{"163":{"position":[[621,8]]}}}],["cd",{"_index":2850,"t":{"381":{"position":[[105,2]]}}}],["cdf",{"_index":2320,"t":{"226":{"position":[[805,5],[1070,3],[1212,3],[1476,3],[1569,3]]},"228":{"position":[[1346,3],[1398,3],[1491,3],[2413,3],[2465,3],[3140,3],[3192,3]]},"232":{"position":[[244,3],[2017,3],[2158,3],[2345,3]]},"240":{"position":[[563,4]]},"242":{"position":[[59,3],[1697,3]]}}}],["cdf(mid",{"_index":2469,"t":{"232":{"position":[[3001,8]]}}}],["cdf(p",{"_index":2461,"t":{"232":{"position":[[2852,7]]}}}],["celebrates",{"_index":1131,"t":{"61":{"position":[[423,10]]}}}],["celebrating",{"_index":855,"t":{"49":{"position":[[631,11]]}}}],["centers",{"_index":1782,"t":{"175":{"position":[[154,8]]}}}],["central",{"_index":2492,"t":{"236":{"position":[[264,7],[322,7],[519,7],[699,7],[759,7],[1081,7],[1201,7]]},"242":{"position":[[335,7]]}}}],["chain",{"_index":105,"t":{"6":{"position":[[357,5]]}}}],["challenge",{"_index":334,"t":{"19":{"position":[[634,10]]}}}],["challenges",{"_index":299,"t":{"17":{"position":[[366,10]]},"21":{"position":[[1852,11]]}}}],["challenging",{"_index":1063,"t":{"55":{"position":[[3235,11]]}}}],["chance",{"_index":2,"t":{"2":{"position":[[21,6]]},"49":{"position":[[699,6]]},"228":{"position":[[1052,6],[1423,6],[1540,6],[1935,6],[2492,6],[3216,6]]}}}],["change",{"_index":752,"t":{"41":{"position":[[270,6],[348,6]]},"59":{"position":[[294,6]]},"102":{"position":[[528,6]]},"150":{"position":[[458,6]]},"381":{"position":[[300,6]]}}}],["changed",{"_index":757,"t":{"41":{"position":[[394,8]]}}}],["changes",{"_index":241,"t":{"12":{"position":[[895,7]]},"150":{"position":[[530,8]]}}}],["changing",{"_index":584,"t":{"29":{"position":[[192,8]]},"359":{"position":[[133,8]]}}}],["channel",{"_index":1472,"t":{"100":{"position":[[430,7]]},"102":{"position":[[462,7],[670,7],[753,7]]}}}],["channel.send(\"message",{"_index":1083,"t":{"57":{"position":[[582,23]]}}}],["channels=wf.getnchannels",{"_index":2698,"t":{"258":{"position":[[739,27]]}}}],["characterizes",{"_index":2300,"t":{"226":{"position":[[449,13]]}}}],["chat",{"_index":271,"t":{"14":{"position":[[312,4]]},"31":{"position":[[97,4]]},"71":{"position":[[283,4]]}}}],["check",{"_index":195,"t":{"12":{"position":[[0,5]]},"29":{"position":[[421,5]]},"55":{"position":[[1576,5],[2734,5]]},"61":{"position":[[295,5]]},"78":{"position":[[87,5]]},"143":{"position":[[29,5]]},"161":{"position":[[50,5]]},"268":{"position":[[3,5]]},"272":{"position":[[3,5]]},"288":{"position":[[3,5]]},"292":{"position":[[3,5]]},"343":{"position":[[3,5]]},"347":{"position":[[3,5]]}}}],["checker",{"_index":1510,"t":{"108":{"position":[[265,9]]}}}],["checking",{"_index":2709,"t":{"258":{"position":[[1421,8]]},"270":{"position":[[259,9]]},"290":{"position":[[259,9]]},"345":{"position":[[259,9]]}}}],["checks",{"_index":1048,"t":{"55":{"position":[[1849,6],[2105,6]]},"186":{"position":[[273,6]]}}}],["cheesy",{"_index":860,"t":{"49":{"position":[[739,7]]}}}],["chmod",{"_index":1987,"t":{"200":{"position":[[347,5]]}}}],["choice",{"_index":531,"t":{"27":{"position":[[187,6]]},"224":{"position":[[4347,6]]},"228":{"position":[[689,6],[1670,6],[3490,6]]}}}],["choices",{"_index":659,"t":{"35":{"position":[[222,7]]}}}],["choose",{"_index":1236,"t":{"67":{"position":[[188,7],[211,7],[315,6],[349,7],[482,6]]},"204":{"position":[[0,6]]},"226":{"position":[[718,7]]}}}],["chooses",{"_index":490,"t":{"25":{"position":[[175,7]]}}}],["chose",{"_index":951,"t":{"53":{"position":[[1889,5]]}}}],["christmas",{"_index":1143,"t":{"63":{"position":[[68,10]]}}}],["chrome",{"_index":2792,"t":{"355":{"position":[[512,6]]}}}],["chunk",{"_index":2691,"t":{"258":{"position":[[605,5]]}}}],["circled",{"_index":2273,"t":{"224":{"position":[[4275,7]]}}}],["circles",{"_index":2268,"t":{"224":{"position":[[4038,7]]}}}],["circumstances",{"_index":335,"t":{"19":{"position":[[654,14]]}}}],["clarify",{"_index":390,"t":{"21":{"position":[[309,7]]}}}],["clarity",{"_index":336,"t":{"19":{"position":[[669,7]]}}}],["class",{"_index":192,"t":{"10":{"position":[[320,5]]},"21":{"position":[[948,6]]},"55":{"position":[[1069,5]]},"222":{"position":[[1304,5],[1440,5]]},"238":{"position":[[116,5],[169,6],[300,6],[348,5],[781,5]]},"240":{"position":[[2483,5]]}}}],["classes",{"_index":1558,"t":{"114":{"position":[[35,7]]},"222":{"position":[[803,7]]}}}],["classic",{"_index":1179,"t":{"65":{"position":[[426,7]]}}}],["classification",{"_index":2475,"t":{"234":{"position":[[136,14]]},"246":{"position":[[61,15]]}}}],["classifications",{"_index":410,"t":{"21":{"position":[[662,16],[1595,15]]},"232":{"position":[[1824,15]]}}}],["classified",{"_index":2245,"t":{"224":{"position":[[3426,10]]},"228":{"position":[[150,10],[446,10]]},"232":{"position":[[1369,10]]},"234":{"position":[[711,10]]},"240":{"position":[[347,10],[431,10]]}}}],["classifier",{"_index":2145,"t":{"224":{"position":[[260,10],[449,10],[787,10],[1249,10],[1418,10],[1536,10],[1834,10],[3809,11]]},"228":{"position":[[286,10],[419,11],[932,10]]},"232":{"position":[[2786,10]]},"238":{"position":[[47,10]]},"240":{"position":[[82,10]]}}}],["classifier's",{"_index":2154,"t":{"224":{"position":[[590,12],[667,12],[890,12]]},"226":{"position":[[47,12],[363,12]]},"228":{"position":[[980,12]]}}}],["classifiers",{"_index":2401,"t":{"230":{"position":[[410,11],[507,12]]},"242":{"position":[[1521,11]]}}}],["classifies",{"_index":2189,"t":{"224":{"position":[[1978,10],[2249,10],[2908,10],[3903,10]]},"232":{"position":[[2812,10]]}}}],["classify",{"_index":426,"t":{"21":{"position":[[1101,8]]}}}],["classifying",{"_index":2294,"t":{"226":{"position":[[260,11]]}}}],["clean",{"_index":829,"t":{"49":{"position":[[104,5]]},"53":{"position":[[2337,5]]}}}],["cleaning",{"_index":790,"t":{"45":{"position":[[246,8]]},"47":{"position":[[219,8]]},"53":{"position":[[1084,8]]},"61":{"position":[[468,8]]}}}],["cleanliness",{"_index":2058,"t":{"220":{"position":[[31,13]]}}}],["clear",{"_index":791,"t":{"45":{"position":[[269,5]]},"47":{"position":[[242,5]]},"96":{"position":[[213,7],[240,8]]},"186":{"position":[[1812,5]]},"218":{"position":[[96,5]]},"234":{"position":[[56,5]]}}}],["clearly",{"_index":400,"t":{"21":{"position":[[529,7]]},"242":{"position":[[1480,7]]}}}],["click",{"_index":205,"t":{"12":{"position":[[117,5]]},"67":{"position":[[205,5],[383,5],[621,5]]},"167":{"position":[[72,5],[189,5]]},"171":{"position":[[49,5]]},"355":{"position":[[272,5]]},"377":{"position":[[287,5],[312,5]]}}}],["clicking",{"_index":212,"t":{"12":{"position":[[287,8]]}}}],["clicks",{"_index":2787,"t":{"355":{"position":[[158,7]]}}}],["clone",{"_index":2848,"t":{"381":{"position":[[37,5]]}}}],["close",{"_index":2467,"t":{"232":{"position":[[2962,5]]},"242":{"position":[[1171,5],[1544,5],[1607,5]]}}}],["closed",{"_index":109,"t":{"6":{"position":[[396,7]]},"27":{"position":[[337,7]]}}}],["cloud",{"_index":489,"t":{"25":{"position":[[128,6],[320,6]]},"90":{"position":[[284,5],[408,5],[728,6],[824,5]]},"143":{"position":[[88,5]]}}}],["clouds",{"_index":2053,"t":{"216":{"position":[[147,6]]}}}],["cluster",{"_index":2845,"t":{"379":{"position":[[102,7]]}}}],["clutter",{"_index":2061,"t":{"220":{"position":[[136,7]]}}}],["cnc",{"_index":1780,"t":{"175":{"position":[[132,3]]},"181":{"position":[[269,3]]}}}],["coat",{"_index":359,"t":{"19":{"position":[[1049,4],[1117,4]]}}}],["cobot",{"_index":1813,"t":{"181":{"position":[[79,5]]}}}],["code",{"_index":580,"t":{"29":{"position":[[109,4]]},"49":{"position":[[165,6]]},"61":{"position":[[316,5]]},"69":{"position":[[247,5]]},"74":{"position":[[144,5]]},"86":{"position":[[276,4]]},"100":{"position":[[273,4]]},"106":{"position":[[163,4]]},"108":{"position":[[571,4],[596,5]]},"110":{"position":[[105,5]]},"124":{"position":[[378,4],[2056,4]]},"147":{"position":[[245,4]]},"159":{"position":[[148,4]]},"161":{"position":[[80,4]]},"163":{"position":[[258,4],[368,4],[649,4]]},"200":{"position":[[1422,4]]},"232":{"position":[[2139,5]]},"353":{"position":[[35,4]]},"361":{"position":[[11,4]]},"363":{"position":[[145,4]]},"371":{"position":[[37,5]]}}}],["codebase",{"_index":527,"t":{"27":{"position":[[69,8]]}}}],["codes",{"_index":1527,"t":{"108":{"position":[[636,6]]}}}],["coin",{"_index":2289,"t":{"226":{"position":[[189,4],[311,5],[325,4],[540,4]]},"228":{"position":[[43,4],[113,4]]},"232":{"position":[[365,4]]},"234":{"position":[[36,4],[163,4]]}}}],["coin's",{"_index":2325,"t":{"226":{"position":[[1030,6]]}}}],["collaboration",{"_index":1816,"t":{"181":{"position":[[167,13]]}}}],["colleague",{"_index":1133,"t":{"61":{"position":[[442,10]]}}}],["colleagues",{"_index":1114,"t":{"59":{"position":[[627,10]]}}}],["collection",{"_index":2654,"t":{"248":{"position":[[46,10]]}}}],["collects",{"_index":979,"t":{"53":{"position":[[2998,8]]},"57":{"position":[[305,8]]}}}],["color",{"_index":1451,"t":{"100":{"position":[[104,5]]},"102":{"position":[[216,5],[1025,5]]},"224":{"position":[[3768,5]]}}}],["colored",{"_index":2123,"t":{"222":{"position":[[2405,7]]}}}],["combination",{"_index":998,"t":{"55":{"position":[[353,11]]}}}],["combines",{"_index":650,"t":{"35":{"position":[[69,8]]},"51":{"position":[[479,8]]},"154":{"position":[[36,8]]}}}],["combining",{"_index":485,"t":{"25":{"position":[[59,9]]}}}],["come",{"_index":15,"t":{"2":{"position":[[189,4]]},"152":{"position":[[612,4]]}}}],["comes",{"_index":854,"t":{"49":{"position":[[586,5]]},"242":{"position":[[320,5]]},"315":{"position":[[293,5]]}}}],["command",{"_index":1634,"t":{"128":{"position":[[210,8]]},"200":{"position":[[10,7],[338,8]]},"266":{"position":[[60,7]]},"270":{"position":[[88,8]]},"286":{"position":[[60,7]]},"290":{"position":[[88,8]]},"304":{"position":[[60,7]]},"327":{"position":[[60,7]]},"341":{"position":[[60,7],[76,7]]},"345":{"position":[[88,8]]},"347":{"position":[[47,7]]}}}],["commands",{"_index":1798,"t":{"177":{"position":[[301,8]]}}}],["commercially",{"_index":2091,"t":{"222":{"position":[[1095,12]]}}}],["commit",{"_index":1743,"t":{"163":{"position":[[637,6]]}}}],["commits",{"_index":826,"t":{"45":{"position":[[915,8]]},"47":{"position":[[888,8]]}}}],["committed",{"_index":451,"t":{"21":{"position":[[1783,9]]}}}],["committing",{"_index":1738,"t":{"163":{"position":[[229,10]]}}}],["common",{"_index":1526,"t":{"108":{"position":[[617,6]]},"128":{"position":[[148,6]]},"222":{"position":[[1297,6]]},"228":{"position":[[2593,7]]}}}],["commonly",{"_index":2587,"t":{"242":{"position":[[185,8]]},"319":{"position":[[6,8]]}}}],["communicate",{"_index":1339,"t":{"82":{"position":[[651,11]]}}}],["communicating",{"_index":1405,"t":{"90":{"position":[[249,13]]}}}],["communication",{"_index":1821,"t":{"181":{"position":[[349,13]]}}}],["compare",{"_index":2586,"t":{"242":{"position":[[163,7]]}}}],["compatibility",{"_index":1478,"t":{"102":{"position":[[189,13]]}}}],["compatible",{"_index":2763,"t":{"304":{"position":[[118,10]]},"327":{"position":[[118,10]]}}}],["complete",{"_index":2678,"t":{"252":{"position":[[154,8]]},"308":{"position":[[6,8]]},"331":{"position":[[6,8]]}}}],["completely",{"_index":2299,"t":{"226":{"position":[[438,10]]}}}],["completing",{"_index":2026,"t":{"204":{"position":[[212,10]]}}}],["complex",{"_index":354,"t":{"19":{"position":[[956,7]]},"45":{"position":[[499,7],[822,7]]},"47":{"position":[[472,7],[795,7]]},"51":{"position":[[828,7],[938,8]]},"53":{"position":[[532,7],[2113,7]]},"55":{"position":[[51,7],[1831,8]]},"74":{"position":[[259,7]]},"124":{"position":[[318,7]]},"175":{"position":[[267,7]]}}}],["complexity",{"_index":304,"t":{"19":{"position":[[52,10]]},"55":{"position":[[673,11]]},"57":{"position":[[670,10]]}}}],["component",{"_index":2830,"t":{"377":{"position":[[20,10],[186,9],[301,10],[341,9]]}}}],["compose",{"_index":2819,"t":{"371":{"position":[[56,7]]},"373":{"position":[[44,7],[132,7],[159,7],[179,8]]},"375":{"position":[[79,7],[109,7],[127,7],[172,7],[199,7],[219,8]]}}}],["compose.yml",{"_index":2823,"t":{"373":{"position":[[20,12],[91,11]]}}}],["comprehensive",{"_index":758,"t":{"41":{"position":[[413,13]]}}}],["compress/2174925f24362c479b2.jpg",{"_index":1675,"t":{"147":{"position":[[795,33]]}}}],["compression",{"_index":2780,"t":{"317":{"position":[[279,11]]}}}],["compute",{"_index":2118,"t":{"222":{"position":[[2157,7],[2538,7]]},"224":{"position":[[2436,7]]},"236":{"position":[[239,7],[505,7],[551,7],[1193,7]]},"240":{"position":[[952,7]]}}}],["computed",{"_index":2226,"t":{"224":{"position":[[2983,8]]},"230":{"position":[[442,8]]},"236":{"position":[[353,8]]}}}],["computer",{"_index":265,"t":{"14":{"position":[[207,8]]},"23":{"position":[[129,8],[404,8]]},"25":{"position":[[42,8]]},"27":{"position":[[109,8],[275,8]]},"33":{"position":[[92,8],[274,8]]},"45":{"position":[[446,8],[564,8]]},"47":{"position":[[419,8],[537,8]]},"55":{"position":[[3646,8]]},"63":{"position":[[158,8],[287,8],[417,8],[812,8]]},"65":{"position":[[91,8],[255,8]]},"69":{"position":[[202,8]]},"71":{"position":[[27,8],[178,8]]},"74":{"position":[[32,9]]},"78":{"position":[[982,8],[1191,8]]},"134":{"position":[[63,8]]},"150":{"position":[[16,8]]},"152":{"position":[[343,8]]},"173":{"position":[[30,8],[200,8]]},"175":{"position":[[14,8]]},"177":{"position":[[26,8]]},"179":{"position":[[14,8],[196,8]]},"181":{"position":[[14,8]]},"183":{"position":[[55,8]]},"186":{"position":[[1876,8]]},"355":{"position":[[245,8]]},"363":{"position":[[72,9]]},"365":{"position":[[26,8]]}}}],["computer's",{"_index":2681,"t":{"252":{"position":[[269,10]]}}}],["computing",{"_index":1315,"t":{"78":{"position":[[839,9]]},"154":{"position":[[123,10]]},"234":{"position":[[542,9]]},"236":{"position":[[949,9]]}}}],["conceptualize",{"_index":2183,"t":{"224":{"position":[[1799,13]]}}}],["concurrently",{"_index":913,"t":{"53":{"position":[[392,12]]}}}],["conda",{"_index":1202,"t":{"65":{"position":[[817,6]]}}}],["condition",{"_index":2236,"t":{"224":{"position":[[3160,9]]}}}],["condition\\texttt{condition}condition",{"_index":2242,"t":{"224":{"position":[[3284,36]]}}}],["conditional",{"_index":2511,"t":{"238":{"position":[[354,11]]},"250":{"position":[[684,11]]}}}],["conditions",{"_index":1018,"t":{"55":{"position":[[898,11]]}}}],["conference",{"_index":704,"t":{"37":{"position":[[444,10]]},"246":{"position":[[249,10]]}}}],["confidence",{"_index":217,"t":{"12":{"position":[[380,10],[512,10],[602,10]]},"25":{"position":[[649,10]]},"53":{"position":[[1240,10],[1622,10]]},"57":{"position":[[733,10]]},"78":{"position":[[345,10],[455,10]]},"124":{"position":[[564,10],[662,10],[791,10],[1319,10],[1469,10],[1530,10],[1617,10],[1908,10],[2235,10],[2294,10]]},"147":{"position":[[497,10]]},"152":{"position":[[142,11],[641,11]]},"192":{"position":[[1563,10]]},"200":{"position":[[672,11]]},"222":{"position":[[1470,10],[2044,10],[2183,10],[2704,10],[2793,10],[3025,10]]},"224":{"position":[[26,10],[115,10],[2118,10]]},"230":{"position":[[258,10],[375,10],[701,10],[742,10]]},"232":{"position":[[81,10],[166,10],[543,10],[652,10],[682,10],[1093,10],[1249,10],[1475,10],[1944,10],[2748,10]]},"234":{"position":[[835,10]]},"236":{"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]]},"240":{"position":[[870,10]]},"242":{"position":[[768,10],[1654,10]]},"244":{"position":[[266,10],[405,10]]},"250":{"position":[[33,10],[111,10],[343,10]]}}}],["confidence_threshold=0.8",{"_index":1925,"t":{"192":{"position":[[1598,25]]}}}],["confidence_threshold=0.95",{"_index":1607,"t":{"124":{"position":[[1232,26]]}}}],["confidence_threshold=confidence",{"_index":2000,"t":{"200":{"position":[[1204,32]]}}}],["confident",{"_index":948,"t":{"53":{"position":[[1771,9],[1851,9],[2019,9]]},"86":{"position":[[1125,9]]},"124":{"position":[[875,9]]}}}],["confidently",{"_index":340,"t":{"19":{"position":[[709,11]]}}}],["config",{"_index":654,"t":{"35":{"position":[[139,6],[385,6]]},"37":{"position":[[110,6]]},"41":{"position":[[487,6]]}}}],["configurable",{"_index":656,"t":{"35":{"position":[[160,12],[722,12]]}}}],["configuration",{"_index":649,"t":{"35":{"position":[[55,13],[336,13]]},"363":{"position":[[86,13]]}}}],["configurations",{"_index":694,"t":{"37":{"position":[[193,14]]},"39":{"position":[[226,14],[373,15]]}}}],["configure",{"_index":1299,"t":{"78":{"position":[[274,10]]},"90":{"position":[[332,9]]},"92":{"position":[[3,9]]},"276":{"position":[[449,9],[702,9]]},"367":{"position":[[114,9],[285,9]]}}}],["configured",{"_index":647,"t":{"35":{"position":[[26,10]]},"65":{"position":[[218,10]]},"67":{"position":[[1075,12]]}}}],["configuring",{"_index":1252,"t":{"67":{"position":[[599,11]]},"78":{"position":[[431,11]]}}}],["confirm",{"_index":1253,"t":{"67":{"position":[[652,8]]},"171":{"position":[[94,7]]}}}],["conflicts",{"_index":2784,"t":{"319":{"position":[[129,9]]}}}],["conforms",{"_index":288,"t":{"17":{"position":[[248,8]]}}}],["confusing",{"_index":204,"t":{"12":{"position":[[106,10]]},"250":{"position":[[68,10]]}}}],["confusion",{"_index":164,"t":{"8":{"position":[[634,9]]}}}],["connect",{"_index":719,"t":{"39":{"position":[[99,7]]}}}],["connected",{"_index":1872,"t":{"186":{"position":[[1861,9]]},"188":{"position":[[69,9]]},"254":{"position":[[69,9]]},"365":{"position":[[10,9]]}}}],["consequently",{"_index":2170,"t":{"224":{"position":[[1314,13]]},"228":{"position":[[3411,13]]}}}],["consider",{"_index":93,"t":{"6":{"position":[[210,8]]},"12":{"position":[[726,8]]},"19":{"position":[[0,8]]},"53":{"position":[[1195,8]]},"114":{"position":[[0,8]]},"224":{"position":[[422,8]]},"228":{"position":[[208,8]]},"361":{"position":[[239,8]]}}}],["considered",{"_index":756,"t":{"41":{"position":[[383,10]]},"53":{"position":[[1143,10]]},"214":{"position":[[114,10]]}}}],["considering",{"_index":2355,"t":{"228":{"position":[[664,11]]}}}],["consist",{"_index":1711,"t":{"159":{"position":[[228,7]]}}}],["consists",{"_index":2152,"t":{"224":{"position":[[546,8],[1578,8]]}}}],["constrained",{"_index":2775,"t":{"317":{"position":[[27,12],[394,11]]}}}],["construct",{"_index":2142,"t":{"222":{"position":[[3015,9]]},"224":{"position":[[16,9],[105,9],[2106,9]]},"230":{"position":[[229,9]]},"234":{"position":[[69,9]]}}}],["constructing",{"_index":2116,"t":{"222":{"position":[[2031,12]]}}}],["construction",{"_index":2564,"t":{"240":{"position":[[1776,13]]},"250":{"position":[[83,12]]}}}],["constructor",{"_index":1417,"t":{"92":{"position":[[115,11]]},"163":{"position":[[504,11],[596,12]]}}}],["consuming",{"_index":1150,"t":{"63":{"position":[[447,9]]}}}],["contain",{"_index":2581,"t":{"240":{"position":[[2943,7]]},"242":{"position":[[97,7]]}}}],["container",{"_index":1633,"t":{"128":{"position":[[108,9]]}}}],["containers",{"_index":1399,"t":{"90":{"position":[[42,10]]}}}],["containing",{"_index":1155,"t":{"63":{"position":[[643,10]]}}}],["contains",{"_index":655,"t":{"35":{"position":[[146,8]]},"108":{"position":[[456,8],[546,8]]}}}],["content",{"_index":2038,"t":{"210":{"position":[[105,8]]}}}],["content/uploads/2010/11/over_flowing_garbage_can.jpg",{"_index":1602,"t":{"124":{"position":[[1041,53]]}}}],["contents",{"_index":314,"t":{"19":{"position":[[236,8]]}}}],["context",{"_index":912,"t":{"53":{"position":[[313,7]]},"116":{"position":[[93,7]]},"218":{"position":[[72,8]]}}}],["continue",{"_index":211,"t":{"12":{"position":[[227,8]]},"21":{"position":[[1319,8]]},"33":{"position":[[19,8]]},"41":{"position":[[27,8],[734,8]]},"43":{"position":[[104,8]]},"192":{"position":[[1823,8],[1921,8],[2088,8]]}}}],["continuously",{"_index":535,"t":{"27":{"position":[[243,12]]}}}],["contrast",{"_index":2371,"t":{"228":{"position":[[1822,9]]}}}],["contributing",{"_index":780,"t":{"43":{"position":[[291,12]]}}}],["control",{"_index":1302,"t":{"78":{"position":[[378,7]]},"124":{"position":[[38,7]]},"161":{"position":[[219,7]]},"173":{"position":[[344,8]]},"179":{"position":[[252,8]]},"181":{"position":[[367,7]]},"232":{"position":[[963,7]]}}}],["convenient",{"_index":729,"t":{"39":{"position":[[518,10]]}}}],["converged",{"_index":2466,"t":{"232":{"position":[[2952,9]]}}}],["converges",{"_index":2595,"t":{"242":{"position":[[505,9]]}}}],["conversion",{"_index":2782,"t":{"317":{"position":[[432,10]]}}}],["convert",{"_index":1483,"t":{"102":{"position":[[726,7]]},"192":{"position":[[539,7]]},"258":{"position":[[426,7]]},"317":{"position":[[190,7]]}}}],["convey",{"_index":2045,"t":{"212":{"position":[[372,8]]},"222":{"position":[[2285,6]]},"244":{"position":[[290,6]]}}}],["conveyor",{"_index":2033,"t":{"207":{"position":[[312,8]]}}}],["cool",{"_index":1242,"t":{"67":{"position":[[476,5]]}}}],["copy",{"_index":1020,"t":{"55":{"position":[[996,4]]},"167":{"position":[[211,4],[326,4]]}}}],["copy.copy(self.state",{"_index":1035,"t":{"55":{"position":[[1298,21]]}}}],["core",{"_index":1069,"t":{"55":{"position":[[3455,4]]},"65":{"position":[[1468,4]]}}}],["cornerstone",{"_index":988,"t":{"55":{"position":[[70,11]]}}}],["correct",{"_index":60,"t":{"4":{"position":[[384,7]]},"12":{"position":[[169,7],[678,7]]},"55":{"position":[[3511,8]]},"57":{"position":[[1051,7]]},"222":{"position":[[1823,8]]},"224":{"position":[[296,8]]},"226":{"position":[[393,8]]},"232":{"position":[[1816,7]]},"234":{"position":[[128,7]]},"236":{"position":[[1134,7],[1285,7]]}}}],["correctly",{"_index":2188,"t":{"224":{"position":[[1968,9],[2239,9],[2898,9],[3416,9]]},"228":{"position":[[140,9],[436,9]]},"232":{"position":[[1359,9],[2802,9]]},"234":{"position":[[701,9]]},"240":{"position":[[337,9],[421,9]]}}}],["correctness",{"_index":2067,"t":{"222":{"position":[[58,11]]}}}],["corresponding",{"_index":186,"t":{"10":{"position":[[239,13]]},"204":{"position":[[76,13]]}}}],["corresponds",{"_index":2258,"t":{"224":{"position":[[3673,11]]},"226":{"position":[[283,11],[344,11]]},"228":{"position":[[894,11]]},"248":{"position":[[585,11]]}}}],["cost",{"_index":171,"t":{"8":{"position":[[721,4]]},"59":{"position":[[378,4]]},"88":{"position":[[176,5]]},"130":{"position":[[166,4]]}}}],["costs",{"_index":1618,"t":{"124":{"position":[[1677,6]]}}}],["couch",{"_index":2676,"t":{"252":{"position":[[99,6],[206,6],[325,6]]},"254":{"position":[[140,5]]},"258":{"position":[[1038,5],[1246,8],[1603,6]]}}}],["counter",{"_index":1824,"t":{"186":{"position":[[127,7],[392,7],[608,8],[1151,7],[1370,7],[1477,7],[1792,8],[1989,7]]},"192":{"position":[[1514,10],[2481,7],[2839,7],[3067,8]]}}}],["counter's",{"_index":1964,"t":{"192":{"position":[[3134,9]]}}}],["couple",{"_index":427,"t":{"21":{"position":[[1178,6]]},"65":{"position":[[1564,6]]},"163":{"position":[[12,6]]}}}],["course",{"_index":1163,"t":{"63":{"position":[[792,6]]},"65":{"position":[[547,6]]}}}],["coverage",{"_index":2426,"t":{"232":{"position":[[950,9],[975,8]]},"236":{"position":[[683,8],[1037,8]]},"240":{"position":[[1591,8],[2321,9]]},"244":{"position":[[518,9]]}}}],["covered",{"_index":2667,"t":{"248":{"position":[[665,7]]}}}],["covers",{"_index":1499,"t":{"106":{"position":[[113,6]]}}}],["crafted",{"_index":540,"t":{"27":{"position":[[419,7]]}}}],["create",{"_index":1285,"t":{"74":{"position":[[184,6]]},"78":{"position":[[266,7]]},"100":{"position":[[281,6]]},"122":{"position":[[223,6]]},"130":{"position":[[193,6]]},"137":{"position":[[153,6]]},"156":{"position":[[152,6],[314,6]]},"167":{"position":[[82,7],[195,7]]},"377":{"position":[[162,6],[293,7]]},"379":{"position":[[82,6]]}}}],["create_detector(name",{"_index":1651,"t":{"137":{"position":[[264,21]]}}}],["created",{"_index":983,"t":{"53":{"position":[[3078,7]]},"55":{"position":[[1665,7],[2561,7],[3058,7]]},"137":{"position":[[122,7]]}}}],["creates",{"_index":1826,"t":{"186":{"position":[[184,7]]}}}],["creating",{"_index":1557,"t":{"114":{"position":[[9,8]]},"137":{"position":[[219,8]]},"169":{"position":[[156,8]]},"252":{"position":[[143,8]]},"377":{"position":[[7,8]]}}}],["creation",{"_index":1479,"t":{"102":{"position":[[299,10]]}}}],["credentials",{"_index":1247,"t":{"67":{"position":[[533,12]]}}}],["credible",{"_index":2672,"t":{"250":{"position":[[732,8],[804,8]]}}}],["crop",{"_index":701,"t":{"37":{"position":[[410,5],[571,5]]}}}],["crowded",{"_index":1866,"t":{"186":{"position":[[1531,7]]}}}],["crucial",{"_index":391,"t":{"21":{"position":[[337,7],[1752,7]]},"55":{"position":[[455,7]]}}}],["cuda",{"_index":1229,"t":{"65":{"position":[[1956,4]]}}}],["cumulative",{"_index":2318,"t":{"226":{"position":[[777,10],[1495,10]]}}}],["cup_{i=1}^n",{"_index":2661,"t":{"248":{"position":[[268,12]]}}}],["curl",{"_index":2752,"t":{"276":{"position":[[442,4],[609,4]]}}}],["current",{"_index":963,"t":{"53":{"position":[[2291,7]]},"55":{"position":[[147,7]]},"65":{"position":[[1182,7]]},"169":{"position":[[51,7]]},"355":{"position":[[493,7]]}}}],["current_hour",{"_index":1919,"t":{"192":{"position":[[1265,12],[1328,12],[2539,12],[2577,12]]}}}],["current_time",{"_index":1944,"t":{"192":{"position":[[2274,12]]}}}],["current_time.strftime(\"%i%p",{"_index":1948,"t":{"192":{"position":[[2373,29]]}}}],["currently",{"_index":1054,"t":{"55":{"position":[[2124,9],[2835,9]]},"59":{"position":[[146,10]]},"150":{"position":[[405,9]]}}}],["curve",{"_index":2336,"t":{"226":{"position":[[1336,7],[1777,6]]}}}],["custom",{"_index":866,"t":{"51":{"position":[[162,6]]},"67":{"position":[[256,8]]},"114":{"position":[[18,6]]},"367":{"position":[[142,6]]}}}],["customer",{"_index":121,"t":{"6":{"position":[[584,8]]},"8":{"position":[[425,8]]},"10":{"position":[[279,8]]},"186":{"position":[[260,9],[844,8],[1047,8],[1415,8],[1568,8],[1614,8],[2103,8]]},"192":{"position":[[1490,8],[3039,8]]},"222":{"position":[[1753,9],[1766,8]]}}}],["customers",{"_index":608,"t":{"33":{"position":[[68,9]]},"186":{"position":[[138,9],[769,10],[1125,9],[1339,9]]},"222":{"position":[[175,9],[432,9]]},"244":{"position":[[92,10]]}}}],["customization",{"_index":378,"t":{"21":{"position":[[113,14]]},"67":{"position":[[432,15]]}}}],["customize",{"_index":409,"t":{"21":{"position":[[644,9]]},"192":{"position":[[709,9]]}}}],["customized",{"_index":520,"t":{"25":{"position":[[783,10]]}}}],["cutting",{"_index":1769,"t":{"173":{"position":[[187,7]]}}}],["cv",{"_index":463,"t":{"23":{"position":[[145,4]]},"25":{"position":[[249,2],[794,2]]},"63":{"position":[[303,5]]}}}],["cv2",{"_index":1346,"t":{"82":{"position":[[951,3]]},"98":{"position":[[322,3]]},"192":{"position":[[174,3]]},"258":{"position":[[174,3]]}}}],["cv2.color_bgr2rgb",{"_index":1892,"t":{"192":{"position":[[603,19]]},"258":{"position":[[490,19]]}}}],["cv2.videocapture(0",{"_index":1351,"t":{"82":{"position":[[1068,19]]},"98":{"position":[[332,19]]},"192":{"position":[[471,19]]},"258":{"position":[[358,19]]}}}],["d",{"_index":1508,"t":{"108":{"position":[[228,1]]},"124":{"position":[[1156,1]]},"147":{"position":[[670,1]]},"224":{"position":[[2353,3]]},"238":{"position":[[398,3],[462,3],[499,1],[606,2],[643,1],[873,4],[1002,2]]}}}],["d(x,y)∼d",{"_index":2180,"t":{"224":{"position":[[1736,8]]}}}],["d(xi​,yi​)∼d",{"_index":2222,"t":{"224":{"position":[[2814,12]]}}}],["d+d^+d",{"_index":2512,"t":{"238":{"position":[[381,7]]}}}],["daemon",{"_index":2835,"t":{"377":{"position":[[154,7]]}}}],["daily",{"_index":1835,"t":{"186":{"position":[[448,5],[2009,5]]},"188":{"position":[[132,5]]},"192":{"position":[[671,5],[2650,6],[3203,5]]}}}],["daily_log",{"_index":1927,"t":{"192":{"position":[[1644,9],[2617,9],[2680,10],[2879,9]]}}}],["daily_log.append(msg",{"_index":1953,"t":{"192":{"position":[[2508,21]]}}}],["daily_summary",{"_index":1954,"t":{"192":{"position":[[2634,13],[2691,13]]}}}],["dark",{"_index":142,"t":{"8":{"position":[[144,4],[340,4]]},"19":{"position":[[729,4]]}}}],["darkness",{"_index":327,"t":{"19":{"position":[[549,8]]}}}],["dashboard",{"_index":1416,"t":{"90":{"position":[[830,10]]}}}],["data",{"_index":434,"t":{"21":{"position":[[1406,4]]},"23":{"position":[[540,4]]},"25":{"position":[[436,6]]},"53":{"position":[[443,4],[2813,4],[3020,4]]},"100":{"position":[[212,4]]},"124":{"position":[[2016,4]]},"152":{"position":[[103,5]]},"186":{"position":[[1269,4]]},"258":{"position":[[804,4],[838,5],[863,4]]}}}],["database",{"_index":1341,"t":{"82":{"position":[[735,9],[831,8],[1351,8]]},"84":{"position":[[415,8]]}}}],["dataset",{"_index":613,"t":{"33":{"position":[[131,7]]},"147":{"position":[[160,8]]},"152":{"position":[[446,8]]}}}],["date",{"_index":243,"t":{"12":{"position":[[936,4]]},"169":{"position":[[250,4]]}}}],["datetime",{"_index":1879,"t":{"192":{"position":[[256,8],[272,9]]}}}],["datetime.now",{"_index":1939,"t":{"192":{"position":[[2144,14]]}}}],["datetime.now().hour",{"_index":1920,"t":{"192":{"position":[[1280,19],[2554,19]]}}}],["datetime.now().replace(hour=start_of_business",{"_index":1945,"t":{"192":{"position":[[2289,46]]}}}],["datetime.now().replace(minute=0",{"_index":1929,"t":{"192":{"position":[[1679,32]]}}}],["day",{"_index":798,"t":{"45":{"position":[[367,4]]},"47":{"position":[[340,4]]},"186":{"position":[[163,4],[429,4],[891,3]]},"192":{"position":[[3184,4]]},"224":{"position":[[758,3]]}}}],["days",{"_index":1843,"t":{"186":{"position":[[907,4]]}}}],["daytime",{"_index":2149,"t":{"224":{"position":[[477,7],[565,7]]}}}],["db.get_next_image_query_id",{"_index":1366,"t":{"84":{"position":[[428,28],[666,28],[1219,28]]}}}],["db.save(image_query.id",{"_index":1345,"t":{"82":{"position":[[883,24],[1296,23]]}}}],["ddd",{"_index":2172,"t":{"224":{"position":[[1553,4],[1574,3],[1791,4],[2282,4],[2460,3],[2642,4],[3659,4],[4522,4]]},"228":{"position":[[383,3],[2105,3]]},"238":{"position":[[330,3]]}}}],["deal",{"_index":413,"t":{"21":{"position":[[730,4],[1836,4]]}}}],["debian",{"_index":2732,"t":{"274":{"position":[[92,6]]}}}],["debug",{"_index":1564,"t":{"116":{"position":[[133,5]]}}}],["debugging",{"_index":1517,"t":{"108":{"position":[[413,9]]},"112":{"position":[[150,9]]}}}],["decades",{"_index":1476,"t":{"102":{"position":[[173,7]]}}}],["decide",{"_index":1112,"t":{"59":{"position":[[550,6]]}}}],["decided",{"_index":2417,"t":{"232":{"position":[[434,7]]}}}],["decides",{"_index":968,"t":{"53":{"position":[[2501,7]]}}}],["decision",{"_index":2265,"t":{"224":{"position":[[3884,8]]}}}],["decisions",{"_index":1860,"t":{"186":{"position":[[1281,9],[2061,9]]}}}],["declarative",{"_index":626,"t":{"33":{"position":[[262,11]]},"65":{"position":[[503,11]]}}}],["decompose",{"_index":2510,"t":{"238":{"position":[[320,9]]}}}],["def",{"_index":1025,"t":{"55":{"position":[[1098,3],[1166,3],[1246,3]]},"192":{"position":[[444,3],[765,3],[1233,3]]},"200":{"position":[[592,3]]},"232":{"position":[[2672,3],[2848,3],[2886,3]]},"258":{"position":[[331,3],[578,3]]}}}],["default",{"_index":532,"t":{"27":{"position":[[198,7]]},"37":{"position":[[147,7]]},"39":{"position":[[218,7]]},"82":{"position":[[1118,7]]},"98":{"position":[[382,7]]},"120":{"position":[[202,7]]},"276":{"position":[[38,8],[489,7]]},"315":{"position":[[199,7]]},"319":{"position":[[51,8]]}}}],["defaults",{"_index":1654,"t":{"141":{"position":[[57,8]]},"145":{"position":[[57,8]]}}}],["defeating",{"_index":1137,"t":{"61":{"position":[[520,9]]}}}],["defects",{"_index":1805,"t":{"179":{"position":[[153,7]]}}}],["define",{"_index":1885,"t":{"192":{"position":[[376,6],[641,6],[1119,6]]},"224":{"position":[[339,6],[2185,6]]},"238":{"position":[[179,6],[243,6]]},"258":{"position":[[263,6],[528,6]]}}}],["defined",{"_index":2312,"t":{"226":{"position":[[668,7],[1077,7]]},"232":{"position":[[1503,7]]},"234":{"position":[[863,7]]},"238":{"position":[[743,7],[1105,7]]}}}],["definition",{"_index":2433,"t":{"232":{"position":[[1229,10],[1425,11],[1867,10],[2125,10]]},"234":{"position":[[785,11]]}}}],["definitions",{"_index":88,"t":{"6":{"position":[[133,11],[232,11]]},"240":{"position":[[15,11]]},"359":{"position":[[153,12]]}}}],["definitive",{"_index":316,"t":{"19":{"position":[[293,10]]},"21":{"position":[[1665,10]]}}}],["defy",{"_index":300,"t":{"17":{"position":[[382,4]]}}}],["degrade",{"_index":2771,"t":{"313":{"position":[[336,8]]}}}],["degree",{"_index":2114,"t":{"222":{"position":[[1998,6]]}}}],["delay",{"_index":1926,"t":{"192":{"position":[[1624,5]]}}}],["delayed",{"_index":1593,"t":{"124":{"position":[[408,7]]}}}],["delete",{"_index":1759,"t":{"171":{"position":[[59,8]]}}}],["delta",{"_index":2429,"t":{"232":{"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]]},"234":{"position":[[625,8],[809,10],[930,7],[982,6]]},"236":{"position":[[311,10]]},"240":{"position":[[859,10],[1494,5],[1611,9],[1691,5],[2280,9]]}}}],["delta/4",{"_index":2549,"t":{"240":{"position":[[1078,9],[1319,9]]}}}],["delta/4)acc+​(h)=p​(n+,k+,δ/4",{"_index":2551,"t":{"240":{"position":[[1159,31]]}}}],["delta/4)acc−​(h)=p​(n−,k−,δ/4",{"_index":2554,"t":{"240":{"position":[[1400,31]]}}}],["delta4⋅(δ/4",{"_index":2572,"t":{"240":{"position":[[2196,16]]}}}],["deltafn,p​(k",{"_index":2450,"t":{"232":{"position":[[2315,17]]}}}],["deltaδ/2",{"_index":2496,"t":{"236":{"position":[[464,13],[612,10]]}}}],["demonstrates",{"_index":863,"t":{"51":{"position":[[19,12]]},"132":{"position":[[90,12]]},"186":{"position":[[13,12]]}}}],["denote",{"_index":2181,"t":{"224":{"position":[[1745,6]]},"240":{"position":[[174,6],[228,6],[282,6],[366,6],[568,6]]}}}],["density",{"_index":2319,"t":{"226":{"position":[[788,7]]}}}],["depected",{"_index":2817,"t":{"367":{"position":[[249,9]]}}}],["dependent",{"_index":2158,"t":{"224":{"position":[[866,10]]},"319":{"position":[[150,9]]}}}],["depicts",{"_index":2251,"t":{"224":{"position":[[3498,7]]}}}],["deploy",{"_index":475,"t":{"23":{"position":[[395,6]]},"27":{"position":[[266,6]]},"51":{"position":[[212,6]]},"78":{"position":[[812,6]]},"355":{"position":[[56,6],[123,6]]},"363":{"position":[[27,6]]},"367":{"position":[[55,6]]},"371":{"position":[[26,6]]},"377":{"position":[[318,8],[330,6]]}}}],["deployed",{"_index":1323,"t":{"80":{"position":[[288,8]]},"357":{"position":[[62,8]]}}}],["deployment",{"_index":814,"t":{"45":{"position":[[687,10]]},"47":{"position":[[660,10]]},"51":{"position":[[116,10],[1504,10]]},"353":{"position":[[40,10]]}}}],["depth",{"_index":220,"t":{"12":{"position":[[452,5]]},"33":{"position":[[537,5]]},"37":{"position":[[387,6]]},"78":{"position":[[12,5]]}}}],["derivation",{"_index":2673,"t":{"250":{"position":[[790,10]]}}}],["derive",{"_index":2412,"t":{"232":{"position":[[62,6]]},"236":{"position":[[24,6],[139,6]]}}}],["derived",{"_index":2585,"t":{"242":{"position":[[33,7]]},"244":{"position":[[734,8]]}}}],["describe",{"_index":1283,"t":{"69":{"position":[[731,8],[886,8]]}}}],["described",{"_index":319,"t":{"19":{"position":[[362,9]]},"51":{"position":[[847,9]]},"232":{"position":[[30,9]]},"274":{"position":[[375,9]]},"294":{"position":[[233,9]]},"349":{"position":[[178,9]]}}}],["describes",{"_index":2126,"t":{"222":{"position":[[2498,9]]}}}],["description",{"_index":1521,"t":{"108":{"position":[[475,11]]}}}],["descriptive",{"_index":1749,"t":{"167":{"position":[[134,11]]},"169":{"position":[[121,11]]}}}],["design",{"_index":807,"t":{"45":{"position":[[584,6],[660,6]]},"47":{"position":[[557,6],[633,6]]}}}],["designed",{"_index":379,"t":{"21":{"position":[[146,8]]},"23":{"position":[[214,8]]},"33":{"position":[[357,8]]},"49":{"position":[[52,8]]},"355":{"position":[[13,8]]}}}],["desire",{"_index":2558,"t":{"240":{"position":[[1572,6]]},"250":{"position":[[672,6]]}}}],["desired",{"_index":749,"t":{"41":{"position":[[231,7]]},"78":{"position":[[447,7]]},"124":{"position":[[556,7],[783,7],[1900,7]]},"240":{"position":[[2304,7]]},"242":{"position":[[127,7]]}}}],["desk",{"_index":1827,"t":{"186":{"position":[[232,4]]}}}],["desktop",{"_index":1210,"t":{"65":{"position":[[1004,7],[1203,8],[1245,7],[1648,7]]},"69":{"position":[[28,7],[560,7]]}}}],["despite",{"_index":1580,"t":{"120":{"position":[[109,7]]}}}],["det",{"_index":1432,"t":{"96":{"position":[[170,3]]},"150":{"position":[[125,3]]},"156":{"position":[[400,3]]}}}],["detail",{"_index":201,"t":{"12":{"position":[[60,6]]},"55":{"position":[[445,6]]}}}],["detailed",{"_index":116,"t":{"6":{"position":[[485,8],[673,8]]},"8":{"position":[[580,8]]},"21":{"position":[[494,8]]},"74":{"position":[[396,8]]},"244":{"position":[[357,8]]}}}],["details",{"_index":215,"t":{"12":{"position":[[342,7]]},"222":{"position":[[695,7],[1395,7],[2364,7]]}}}],["detect",{"_index":1494,"t":{"102":{"position":[[1119,6]]}}}],["detected",{"_index":768,"t":{"41":{"position":[[800,11]]},"192":{"position":[[3051,8]]},"252":{"position":[[190,8]]},"258":{"position":[[1230,8],[1587,8]]}}}],["detecting",{"_index":746,"t":{"41":{"position":[[116,9]]}}}],["detection",{"_index":742,"t":{"41":{"position":[[54,9],[172,10]]},"43":{"position":[[131,10]]},"59":{"position":[[76,9],[503,10]]},"74":{"position":[[246,9]]}}}],["detector",{"_index":42,"t":{"4":{"position":[[146,9],[304,9]]},"6":{"position":[[506,8]]},"8":{"position":[[704,8]]},"10":{"position":[[389,9]]},"12":{"position":[[333,8],[486,8],[964,8]]},"21":{"position":[[905,8]]},"23":{"position":[[277,8]]},"27":{"position":[[685,9],[858,8],[1007,9]]},"45":{"position":[[740,8]]},"47":{"position":[[713,8]]},"53":{"position":[[826,8],[1540,8]]},"82":{"position":[[978,8]]},"84":{"position":[[565,8]]},"86":{"position":[[526,8]]},"124":{"position":[[624,9]]},"130":{"position":[[116,8]]},"137":{"position":[[98,8],[234,8],[365,8]]},"139":{"position":[[55,8]]},"186":{"position":[[194,8],[284,8]]},"192":{"position":[[1411,8]]},"200":{"position":[[835,8],[1013,8],[1134,8],[1866,8]]},"207":{"position":[[202,8]]},"222":{"position":[[148,8],[1377,8]]},"258":{"position":[[993,8],[1044,10]]},"353":{"position":[[56,8]]},"355":{"position":[[80,8],[135,8],[311,8]]},"357":{"position":[[71,9]]}}}],["detector's",{"_index":200,"t":{"12":{"position":[[49,10],[548,10]]},"53":{"position":[[1023,10]]},"222":{"position":[[722,10],[1887,10],[2243,10],[2344,10]]}}}],["detector(s",{"_index":2818,"t":{"367":{"position":[[300,12]]}}}],["detector=detector",{"_index":1936,"t":{"192":{"position":[[1975,18]]},"258":{"position":[[1146,18]]}}}],["detector_name",{"_index":556,"t":{"27":{"position":[[821,13]]},"200":{"position":[[626,14],[972,14]]}}}],["detectors",{"_index":6,"t":{"2":{"position":[[65,10]]},"17":{"position":[[62,10]]},"21":{"position":[[132,9]]},"51":{"position":[[448,9],[509,9]]},"78":{"position":[[242,10],[293,9],[481,10]]},"141":{"position":[[89,9],[166,9]]},"194":{"position":[[42,9]]},"207":{"position":[[19,10]]},"222":{"position":[[94,10]]},"244":{"position":[[153,9]]},"363":{"position":[[51,9]]},"367":{"position":[[99,10]]}}}],["detector’s",{"_index":219,"t":{"12":{"position":[[406,10]]}}}],["detects",{"_index":1271,"t":{"69":{"position":[[284,7],[826,7]]},"313":{"position":[[224,7]]}}}],["determination",{"_index":1138,"t":{"61":{"position":[[530,14]]}}}],["determine",{"_index":1036,"t":{"55":{"position":[[1355,9],[1585,9]]}}}],["determines",{"_index":536,"t":{"27":{"position":[[302,10]]},"53":{"position":[[2727,10]]},"124":{"position":[[639,10]]}}}],["determining",{"_index":1047,"t":{"55":{"position":[[1710,11],[1769,11],[2595,11],[2669,11],[3092,11]]},"226":{"position":[[33,11],[147,11]]},"228":{"position":[[232,11]]}}}],["dev",{"_index":2852,"t":{"381":{"position":[[159,3]]}}}],["developed",{"_index":827,"t":{"49":{"position":[[18,10]]},"102":{"position":[[163,9]]}}}],["developer",{"_index":539,"t":{"27":{"position":[[392,10]]}}}],["developing",{"_index":803,"t":{"45":{"position":[[484,10]]},"47":{"position":[[457,10]]}}}],["development",{"_index":2812,"t":{"363":{"position":[[150,11]]}}}],["deviation",{"_index":2604,"t":{"242":{"position":[[758,9],[1340,10]]}}}],["device",{"_index":1181,"t":{"65":{"position":[[449,6]]},"67":{"position":[[196,8]]},"90":{"position":[[65,8],[84,6],[115,7]]},"204":{"position":[[199,6]]},"355":{"position":[[436,7]]},"367":{"position":[[345,6]]},"377":{"position":[[87,6]]}}}],["devices",{"_index":1392,"t":{"88":{"position":[[90,8]]},"181":{"position":[[291,7]]},"298":{"position":[[70,8]]},"313":{"position":[[54,8]]}}}],["diagram",{"_index":982,"t":{"53":{"position":[[3070,7],[3116,7]]},"55":{"position":[[563,7],[1657,7],[2553,7],[3050,7]]}}}],["dialog",{"_index":84,"t":{"6":{"position":[[74,6]]},"12":{"position":[[829,6]]}}}],["difference",{"_index":1410,"t":{"90":{"position":[[590,10]]},"102":{"position":[[814,10],[1080,10]]}}}],["differences",{"_index":1213,"t":{"65":{"position":[[1040,11]]}}}],["differencing",{"_index":743,"t":{"41":{"position":[[74,13]]}}}],["different",{"_index":874,"t":{"51":{"position":[[706,9]]},"104":{"position":[[32,9],[265,9]]},"108":{"position":[[97,9]]},"216":{"position":[[37,9],[63,9]]},"222":{"position":[[197,9]]},"230":{"position":[[397,9]]},"375":{"position":[[20,9],[62,9]]}}}],["differentiate",{"_index":1559,"t":{"114":{"position":[[99,13]]}}}],["differently",{"_index":2374,"t":{"228":{"position":[[2036,12]]}}}],["difficult",{"_index":341,"t":{"19":{"position":[[749,9]]},"112":{"position":[[160,9]]}}}],["digital",{"_index":672,"t":{"35":{"position":[[526,8]]}}}],["dilemma",{"_index":323,"t":{"19":{"position":[[445,8]]}}}],["direct",{"_index":407,"t":{"21":{"position":[[623,6]]}}}],["directly",{"_index":1429,"t":{"96":{"position":[[42,8]]},"98":{"position":[[272,8]]},"147":{"position":[[415,9]]},"161":{"position":[[61,8]]},"163":{"position":[[568,8]]},"232":{"position":[[2355,8]]},"319":{"position":[[209,9]]}}}],["directory",{"_index":2015,"t":{"200":{"position":[[1765,9]]},"373":{"position":[[67,9]]},"379":{"position":[[196,9]]}}}],["dirty",{"_index":784,"t":{"45":{"position":[[106,5]]},"47":{"position":[[79,5]]},"49":{"position":[[298,5]]},"55":{"position":[[2138,5],[2242,5],[2398,5],[2614,5]]},"57":{"position":[[362,5]]}}}],["discord",{"_index":843,"t":{"49":{"position":[[406,7],[682,7],[859,7]]},"51":{"position":[[1124,7],[1192,7],[1235,7],[1251,7]]},"53":{"position":[[559,7],[2669,7],[2855,7],[2893,7],[3054,7]]},"55":{"position":[[2048,7],[2772,7]]},"57":{"position":[[28,7],[71,7],[108,7],[433,7]]}}}],["discord’s",{"_index":1085,"t":{"57":{"position":[[693,9]]}}}],["discover",{"_index":1314,"t":{"78":{"position":[[796,8]]}}}],["discoverable",{"_index":720,"t":{"39":{"position":[[161,12]]}}}],["discovered",{"_index":737,"t":{"39":{"position":[[792,10]]}}}],["discussing",{"_index":2415,"t":{"232":{"position":[[155,10]]}}}],["discussion",{"_index":221,"t":{"12":{"position":[[458,10]]},"234":{"position":[[22,10]]}}}],["dish",{"_index":928,"t":{"53":{"position":[[1066,4]]},"55":{"position":[[2404,4]]},"61":{"position":[[515,4]]}}}],["dishes",{"_index":785,"t":{"45":{"position":[[112,6],[881,6]]},"47":{"position":[[85,6],[854,6]]},"49":{"position":[[113,6],[304,6],[502,6],[794,7]]},"53":{"position":[[1154,7]]},"55":{"position":[[2144,6],[2248,6],[2436,6],[2620,6],[2845,6],[3026,6]]},"57":{"position":[[398,7],[953,6]]}}}],["display",{"_index":2113,"t":{"222":{"position":[[1986,7],[2169,7]]},"244":{"position":[[686,8]]},"268":{"position":[[52,7]]},"288":{"position":[[52,7]]},"343":{"position":[[52,7]]}}}],["displaying",{"_index":1581,"t":{"120":{"position":[[144,10]]},"222":{"position":[[1522,10]]}}}],["displays",{"_index":2084,"t":{"222":{"position":[[708,8],[2377,8]]}}}],["distinctions",{"_index":292,"t":{"17":{"position":[[281,13]]}}}],["distribution",{"_index":2129,"t":{"222":{"position":[[2592,13],[2747,13]]},"224":{"position":[[951,12],[1037,12],[1371,12],[1449,12],[1502,12],[3633,12],[4249,13],[4496,12]]},"226":{"position":[[425,12],[1249,12]]},"228":{"position":[[812,12]]},"242":{"position":[[262,13],[391,12],[437,12],[527,12],[1084,12],[1130,12]]},"246":{"position":[[197,13]]}}}],["distribution's",{"_index":2729,"t":{"274":{"position":[[9,14]]}}}],["distributions",{"_index":2343,"t":{"226":{"position":[[1813,13]]},"238":{"position":[[262,13],[366,14],[796,14]]}}}],["distutils",{"_index":2751,"t":{"276":{"position":[[432,9]]}}}],["dive",{"_index":258,"t":{"14":{"position":[[133,4]]},"71":{"position":[[104,4]]}}}],["dlp",{"_index":1977,"t":{"198":{"position":[[223,3]]},"200":{"position":[[85,3]]}}}],["dnf",{"_index":2736,"t":{"274":{"position":[[221,3]]}}}],["docker",{"_index":1398,"t":{"90":{"position":[[35,6]]},"128":{"position":[[101,6],[203,6],[228,6]]},"306":{"position":[[12,6],[74,6],[165,6]]},"329":{"position":[[12,6],[73,6],[164,6]]},"371":{"position":[[49,6]]},"373":{"position":[[13,6],[37,6],[84,6],[125,6],[152,6],[172,6]]},"375":{"position":[[72,6],[102,6],[120,6],[165,6],[192,6],[212,6]]},"377":{"position":[[52,6],[147,6]]}}}],["docs/static/img/doorway.jpg",{"_index":1679,"t":{"150":{"position":[[209,31]]},"156":{"position":[[484,31]]}}}],["document",{"_index":2677,"t":{"252":{"position":[[111,8]]}}}],["documentation",{"_index":591,"t":{"29":{"position":[[452,14]]},"57":{"position":[[710,13]]},"82":{"position":[[174,13]]},"86":{"position":[[448,13]]},"278":{"position":[[159,13]]},"296":{"position":[[159,13]]},"333":{"position":[[159,13]]},"351":{"position":[[159,13]]}}}],["doesn't",{"_index":361,"t":{"19":{"position":[[1094,7]]},"137":{"position":[[176,7]]},"226":{"position":[[1739,7]]},"228":{"position":[[1702,7]]}}}],["dog",{"_index":2675,"t":{"252":{"position":[[87,3],[183,3],[306,3],[378,3]]},"254":{"position":[[152,3]]},"258":{"position":[[1580,3]]}}}],["dog_on_couch_detector.py",{"_index":2713,"t":{"258":{"position":[[1692,24],[1736,24]]}}}],["doing",{"_index":583,"t":{"29":{"position":[[160,5]]},"57":{"position":[[388,5]]},"232":{"position":[[612,5]]}}}],["domain.com/wp",{"_index":1601,"t":{"124":{"position":[[1027,13]]}}}],["don't",{"_index":50,"t":{"4":{"position":[[233,6],[697,6]]},"23":{"position":[[506,5]]},"39":{"position":[[450,5]]},"163":{"position":[[339,5]]},"218":{"position":[[47,5]]},"250":{"position":[[639,5]]},"317":{"position":[[474,5],[520,5]]},"355":{"position":[[451,5]]}}}],["done",{"_index":1079,"t":{"57":{"position":[[182,5]]},"67":{"position":[[594,4],[734,5]]},"82":{"position":[[724,4]]},"232":{"position":[[2563,4]]},"317":{"position":[[446,4]]},"363":{"position":[[103,4]]}}}],["door",{"_index":322,"t":{"19":{"position":[[440,4],[499,4],[619,4]]},"21":{"position":[[835,4]]},"23":{"position":[[323,4]]},"27":{"position":[[321,4],[759,4],[791,4]]},"35":{"position":[[410,4]]},"132":{"position":[[56,4],[138,4],[183,4],[220,4]]}}}],["door_open_detector",{"_index":557,"t":{"27":{"position":[[837,20]]}}}],["doorway",{"_index":1673,"t":{"147":{"position":[[730,7]]},"150":{"position":[[187,7]]},"156":{"position":[[462,7]]}}}],["dot",{"_index":2257,"t":{"224":{"position":[[3669,3]]}}}],["dot's",{"_index":2263,"t":{"224":{"position":[[3762,5]]}}}],["dotted",{"_index":2264,"t":{"224":{"position":[[3848,6]]}}}],["down",{"_index":66,"t":{"4":{"position":[[487,4]]},"51":{"position":[[635,4]]},"53":{"position":[[609,4]]},"55":{"position":[[1413,4]]}}}],["download",{"_index":1166,"t":{"65":{"position":[[3,8],[1072,8],[1844,8]]},"67":{"position":[[104,8]]},"88":{"position":[[51,8]]},"200":{"position":[[142,8]]},"276":{"position":[[581,8]]},"294":{"position":[[0,8]]},"349":{"position":[[0,8]]}}}],["downloaded",{"_index":1231,"t":{"67":{"position":[[14,10],[298,11]]}}}],["downloading",{"_index":1274,"t":{"69":{"position":[[407,11]]},"90":{"position":[[205,11]]}}}],["drawing",{"_index":158,"t":{"8":{"position":[[519,7]]}}}],["drawn",{"_index":2197,"t":{"224":{"position":[[2271,5],[2624,5]]}}}],["dreaded",{"_index":1191,"t":{"65":{"position":[[654,7]]}}}],["drew",{"_index":123,"t":{"6":{"position":[[598,4]]}}}],["drifts",{"_index":2155,"t":{"224":{"position":[[729,6]]}}}],["driven",{"_index":1859,"t":{"186":{"position":[[1274,6]]}}}],["due",{"_index":1539,"t":{"108":{"position":[[812,3]]},"147":{"position":[[483,3]]},"236":{"position":[[1046,3]]}}}],["during",{"_index":600,"t":{"31":{"position":[[202,6]]},"106":{"position":[[85,6]]},"108":{"position":[[26,6]]},"132":{"position":[[252,6]]},"186":{"position":[[723,6]]}}}],["d−d",{"_index":2513,"t":{"238":{"position":[[393,4]]}}}],["e",{"_index":1516,"t":{"108":{"position":[[386,2]]},"192":{"position":[[2023,2],[2064,5]]},"258":{"position":[[1307,2],[1348,5]]}}}],["e.g",{"_index":897,"t":{"51":{"position":[[1332,5]]},"57":{"position":[[339,5]]},"116":{"position":[[43,6]]},"192":{"position":[[1192,4],[1224,4]]},"254":{"position":[[112,6]]},"272":{"position":[[140,6]]},"292":{"position":[[140,6]]},"347":{"position":[[146,6]]}}}],["e.reason",{"_index":1519,"t":{"108":{"position":[[447,8],[522,12]]}}}],["e.status",{"_index":1524,"t":{"108":{"position":[[537,8],[602,12]]}}}],["e_{(x,y",{"_index":2522,"t":{"238":{"position":[[859,8],[988,8]]}}}],["each",{"_index":191,"t":{"10":{"position":[[315,4]]},"39":{"position":[[245,4]]},"41":{"position":[[359,4]]},"51":{"position":[[688,4]]},"53":{"position":[[124,4],[1942,4]]},"55":{"position":[[1630,4],[1784,4]]},"169":{"position":[[224,4]]},"222":{"position":[[717,4],[2238,4]]},"224":{"position":[[1558,4],[2784,4],[3664,4]]},"236":{"position":[[650,4]]},"238":{"position":[[295,4],[767,4]]},"240":{"position":[[1790,4],[2023,4]]},"248":{"position":[[210,4],[564,4]]},"250":{"position":[[426,4],[536,4]]}}}],["eager",{"_index":592,"t":{"31":{"position":[[21,5]]}}}],["earlier",{"_index":2740,"t":{"274":{"position":[[385,8]]},"294":{"position":[[243,8]]},"349":{"position":[[188,8]]}}}],["early",{"_index":176,"t":{"10":{"position":[[38,5],[217,5]]},"104":{"position":[[115,5]]},"122":{"position":[[97,5]]}}}],["easier",{"_index":2088,"t":{"222":{"position":[[1018,6]]}}}],["easiest",{"_index":2746,"t":{"276":{"position":[[171,7]]},"363":{"position":[[12,7]]}}}],["easily",{"_index":609,"t":{"33":{"position":[[81,6]]},"41":{"position":[[109,6]]},"124":{"position":[[387,6]]},"167":{"position":[[163,6]]},"181":{"position":[[48,6]]},"232":{"position":[[2103,6]]},"244":{"position":[[125,6]]},"367":{"position":[[74,6]]}}}],["easy",{"_index":23,"t":{"2":{"position":[[272,4]]},"23":{"position":[[69,4]]},"27":{"position":[[43,4]]},"33":{"position":[[377,4]]},"43":{"position":[[41,4]]},"51":{"position":[[204,4]]},"78":{"position":[[653,4]]},"128":{"position":[[89,4]]},"355":{"position":[[36,4]]}}}],["edge",{"_index":136,"t":{"8":{"position":[[36,4],[569,4],[610,4]]},"25":{"position":[[285,5]]},"65":{"position":[[1820,4],[1933,4]]},"78":{"position":[[790,5],[834,4]]},"88":{"position":[[30,4],[85,4],[152,5]]},"90":{"position":[[4,4],[59,5],[79,4],[172,4],[310,4],[373,4],[502,4],[639,4],[764,6],[771,4]]},"92":{"position":[[44,4]]},"154":{"position":[[118,4]]},"173":{"position":[[195,4]]},"313":{"position":[[49,4]]}}}],["edit",{"_index":1243,"t":{"67":{"position":[[489,5]]}}}],["effective",{"_index":1107,"t":{"59":{"position":[[383,10]]}}}],["effectively",{"_index":1565,"t":{"116":{"position":[[151,11]]}}}],["effectiveness",{"_index":1856,"t":{"186":{"position":[[1189,13]]}}}],["efficentnet",{"_index":496,"t":{"25":{"position":[[266,11]]}}}],["efficiency",{"_index":1772,"t":{"173":{"position":[[306,11]]}}}],["efficient",{"_index":1788,"t":{"175":{"position":[[324,10]]}}}],["efficiently",{"_index":2456,"t":{"232":{"position":[[2568,11]]}}}],["effort",{"_index":1135,"t":{"61":{"position":[[477,7]]},"244":{"position":[[47,6]]}}}],["effortlessly",{"_index":1122,"t":{"61":{"position":[[131,12]]}}}],["egg",{"_index":2248,"t":{"224":{"position":[[3469,3]]}}}],["elif",{"_index":1374,"t":{"84":{"position":[[984,4],[1063,4]]}}}],["ellipse",{"_index":2255,"t":{"224":{"position":[[3605,7]]}}}],["eludes",{"_index":337,"t":{"19":{"position":[[677,6]]}}}],["email",{"_index":273,"t":{"14":{"position":[[324,5]]},"31":{"position":[[62,5]]},"186":{"position":[[2023,6]]},"188":{"position":[[89,5]]},"192":{"position":[[685,6]]},"357":{"position":[[81,5]]}}}],["email.mime.multipart",{"_index":1881,"t":{"192":{"position":[[297,20]]}}}],["email.mime.text",{"_index":1883,"t":{"192":{"position":[[344,15]]}}}],["emails",{"_index":1834,"t":{"186":{"position":[[437,6]]},"192":{"position":[[3192,6]]}}}],["embedded",{"_index":804,"t":{"45":{"position":[[507,8]]},"47":{"position":[[480,8]]}}}],["emote",{"_index":1091,"t":{"57":{"position":[[868,5],[1026,5]]}}}],["empirical",{"_index":2225,"t":{"224":{"position":[[2935,9],[4398,9]]},"228":{"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]]},"230":{"position":[[104,9],[199,9]]},"242":{"position":[[457,9],[1295,9],[1443,9]]}}}],["employ",{"_index":387,"t":{"21":{"position":[[278,6]]}}}],["employees",{"_index":1839,"t":{"186":{"position":[[699,9]]}}}],["empower",{"_index":454,"t":{"21":{"position":[[1821,7]]}}}],["empowering",{"_index":383,"t":{"21":{"position":[[199,10]]}}}],["empowers",{"_index":511,"t":{"25":{"position":[[530,8]]}}}],["empty",{"_index":934,"t":{"53":{"position":[[1207,5]]},"55":{"position":[[2202,6]]}}}],["enable",{"_index":1248,"t":{"67":{"position":[[546,6]]}}}],["enabled",{"_index":1073,"t":{"55":{"position":[[3588,7]]},"61":{"position":[[100,7]]}}}],["enables",{"_index":916,"t":{"53":{"position":[[498,7]]},"74":{"position":[[90,7]]}}}],["enabling",{"_index":1765,"t":{"173":{"position":[[107,8]]},"175":{"position":[[198,8]]},"186":{"position":[[2030,8]]}}}],["encoded",{"_index":999,"t":{"55":{"position":[[375,7]]}}}],["encounter",{"_index":774,"t":{"43":{"position":[[149,9]]},"106":{"position":[[61,9]]}}}],["encountered",{"_index":2403,"t":{"230":{"position":[[552,11]]}}}],["encountering",{"_index":371,"t":{"21":{"position":[[9,12]]}}}],["encourage",{"_index":578,"t":{"29":{"position":[[81,9]]},"61":{"position":[[278,9]]},"186":{"position":[[1329,9]]}}}],["encourages",{"_index":846,"t":{"49":{"position":[[458,10]]}}}],["encrypted",{"_index":1728,"t":{"161":{"position":[[362,9]]}}}],["end",{"_index":1833,"t":{"186":{"position":[[418,3]]},"192":{"position":[[3173,3]]},"254":{"position":[[183,3],[190,3]]},"276":{"position":[[56,3]]},"308":{"position":[[15,3],[22,3]]},"331":{"position":[[15,3],[22,3]]}}}],["end_of_business",{"_index":1915,"t":{"192":{"position":[[1201,15],[1343,15],[2593,15]]}}}],["endless",{"_index":2081,"t":{"222":{"position":[[589,7]]}}}],["endpoint",{"_index":1397,"t":{"90":{"position":[[9,8],[177,8],[315,9],[414,9],[507,9],[644,8]]},"92":{"position":[[49,9],[83,8]]}}}],["endpoint's",{"_index":1406,"t":{"90":{"position":[[378,10]]}}}],["energy",{"_index":1396,"t":{"88":{"position":[[205,7]]}}}],["engagement",{"_index":1853,"t":{"186":{"position":[[1056,11]]}}}],["engaging",{"_index":1124,"t":{"61":{"position":[[214,8]]}}}],["engineer",{"_index":596,"t":{"31":{"position":[[145,8]]}}}],["english",{"_index":512,"t":{"25":{"position":[[599,8]]}}}],["enhance",{"_index":388,"t":{"21":{"position":[[288,7]]},"53":{"position":[[84,7]]},"181":{"position":[[128,7]]}}}],["enhancing",{"_index":1771,"t":{"173":{"position":[[296,9]]}}}],["enough",{"_index":1689,"t":{"152":{"position":[[135,6]]},"186":{"position":[[692,6]]},"222":{"position":[[1574,7]]},"224":{"position":[[324,7]]},"232":{"position":[[2968,6]]}}}],["ensure",{"_index":688,"t":{"37":{"position":[[120,6]]},"120":{"position":[[61,6]]},"122":{"position":[[15,6],[107,6]]},"190":{"position":[[0,6]]},"198":{"position":[[0,6]]},"200":{"position":[[238,6]]},"228":{"position":[[2675,6]]},"256":{"position":[[0,6]]},"262":{"position":[[0,6]]},"282":{"position":[[0,6]]},"300":{"position":[[0,6]]},"323":{"position":[[0,6]]},"337":{"position":[[0,6]]}}}],["ensures",{"_index":406,"t":{"21":{"position":[[598,7]]},"25":{"position":[[920,7]]},"55":{"position":[[791,7],[2311,7],[2481,7],[2745,7],[2908,7]]}}}],["ensuring",{"_index":1003,"t":{"55":{"position":[[497,8],[910,8]]},"179":{"position":[[66,8]]},"186":{"position":[[678,8],[1801,8]]}}}],["enter",{"_index":2836,"t":{"377":{"position":[[203,6]]}}}],["environment",{"_index":1193,"t":{"65":{"position":[[682,12]]},"92":{"position":[[259,11]]},"156":{"position":[[220,11]]},"161":{"position":[[383,11]]},"163":{"position":[[60,11],[155,11],[442,11]]},"181":{"position":[[401,12]]},"192":{"position":[[752,12]]}}}],["environments",{"_index":1172,"t":{"65":{"position":[[238,12]]},"78":{"position":[[849,12]]}}}],["equal",{"_index":2341,"t":{"226":{"position":[[1711,5]]},"228":{"position":[[730,5],[1990,5]]},"242":{"position":[[1273,5],[1374,5],[1430,5]]}}}],["equals",{"_index":2241,"t":{"224":{"position":[[3266,6]]},"234":{"position":[[452,6]]},"250":{"position":[[609,6]]}}}],["equipment",{"_index":1785,"t":{"175":{"position":[[184,10]]}}}],["error",{"_index":1194,"t":{"65":{"position":[[695,5]]},"108":{"position":[[20,5],[494,5],[990,6],[1000,5]]},"116":{"position":[[50,6]]},"120":{"position":[[158,5]]},"122":{"position":[[32,5]]},"234":{"position":[[415,5],[441,5],[574,5]]}}}],["errors",{"_index":1306,"t":{"78":{"position":[[508,7],[563,6]]},"106":{"position":[[78,6],[139,6]]},"114":{"position":[[73,7],[121,6]]},"118":{"position":[[87,7]]},"120":{"position":[[117,7]]},"122":{"position":[[147,6],[287,6]]},"242":{"position":[[1226,6]]}}}],["escalate",{"_index":1591,"t":{"124":{"position":[[256,8]]}}}],["escalated",{"_index":1595,"t":{"124":{"position":[[734,10],[1939,9]]},"152":{"position":[[238,9]]}}}],["escalation",{"_index":477,"t":{"23":{"position":[[479,10]]},"25":{"position":[[139,10],[845,10],[909,10]]},"124":{"position":[[595,10]]},"147":{"position":[[197,10],[466,10]]},"154":{"position":[[14,10]]}}}],["esp32",{"_index":2025,"t":{"204":{"position":[[186,5]]},"353":{"position":[[71,5]]},"355":{"position":[[95,5],[216,5],[328,5]]},"359":{"position":[[45,5],[174,5],[223,5],[266,5]]},"361":{"position":[[70,6]]}}}],["esp32s3",{"_index":2806,"t":{"359":{"position":[[304,7]]}}}],["especially",{"_index":129,"t":{"6":{"position":[[695,10]]}}}],["estimate",{"_index":2105,"t":{"222":{"position":[[1657,8],[1873,8]]},"224":{"position":[[3,8],[2539,8]]},"244":{"position":[[396,8]]}}}],["estimated",{"_index":2270,"t":{"224":{"position":[[4157,9]]},"242":{"position":[[1390,9]]},"244":{"position":[[456,9]]}}}],["estimating",{"_index":2253,"t":{"224":{"position":[[3522,10]]}}}],["et",{"_index":2645,"t":{"246":{"position":[[143,2]]},"250":{"position":[[766,2]]}}}],["etc",{"_index":933,"t":{"53":{"position":[[1130,4]]},"116":{"position":[[66,5]]}}}],["etched",{"_index":99,"t":{"6":{"position":[[297,7]]}}}],["ethernet",{"_index":1262,"t":{"67":{"position":[[961,8]]}}}],["evaluate",{"_index":508,"t":{"25":{"position":[[458,11]]}}}],["evaluating",{"_index":2208,"t":{"224":{"position":[[2554,10],[4469,10]]}}}],["evaluations",{"_index":1393,"t":{"88":{"position":[[133,11]]}}}],["even",{"_index":122,"t":{"6":{"position":[[593,4]]},"19":{"position":[[1102,4]]},"67":{"position":[[1058,4]]},"90":{"position":[[147,4]]},"152":{"position":[[405,4]]},"224":{"position":[[804,4]]},"228":{"position":[[1075,4],[2621,4],[2916,4]]},"236":{"position":[[1272,4]]},"306":{"position":[[60,4]]},"329":{"position":[[59,4]]}}}],["event",{"_index":1963,"t":{"192":{"position":[[3088,6]]},"248":{"position":[[621,5]]}}}],["events",{"_index":2384,"t":{"228":{"position":[[2554,6]]},"248":{"position":[[60,7]]}}}],["everybody",{"_index":1141,"t":{"63":{"position":[[15,10]]}}}],["everyone",{"_index":858,"t":{"49":{"position":[[666,8]]}}}],["everything",{"_index":1275,"t":{"69":{"position":[[419,11]]}}}],["evidenced",{"_index":2390,"t":{"228":{"position":[[2899,9]]}}}],["exact",{"_index":2100,"t":{"222":{"position":[[1460,5],[2177,5],[2846,6]]},"230":{"position":[[242,5]]},"232":{"position":[[69,5]]},"240":{"position":[[2351,5]]},"242":{"position":[[80,5],[1648,5]]},"244":{"position":[[260,5],[480,5]]}}}],["exactly",{"_index":2204,"t":{"224":{"position":[[2444,7]]},"226":{"position":[[116,7]]},"230":{"position":[[129,7],[627,7]]},"232":{"position":[[449,7],[1878,7]]}}}],["examined",{"_index":2348,"t":{"228":{"position":[[15,8]]}}}],["example",{"_index":63,"t":{"4":{"position":[[448,8]]},"6":{"position":[[195,7],[474,7],[610,7]]},"8":{"position":[[121,8],[406,7]]},"10":{"position":[[155,7]]},"27":{"position":[[408,7]]},"35":{"position":[[298,7]]},"39":{"position":[[638,7]]},"41":{"position":[[427,8]]},"57":{"position":[[796,8]]},"80":{"position":[[254,8]]},"82":{"position":[[796,8]]},"84":{"position":[[331,8]]},"96":{"position":[[84,8]]},"102":{"position":[[966,7]]},"124":{"position":[[749,8]]},"143":{"position":[[71,8],[126,8]]},"186":{"position":[[5,7]]},"194":{"position":[[8,7]]},"212":{"position":[[74,8]]},"224":{"position":[[1563,7],[1778,7],[1992,7],[2263,7],[3697,7]]},"226":{"position":[[275,7]]},"236":{"position":[[482,8]]},"252":{"position":[[20,7]]},"308":{"position":[[26,7]]},"331":{"position":[[26,7]]}}}],["examples",{"_index":179,"t":{"10":{"position":[[73,8]]},"25":{"position":[[759,8]]},"76":{"position":[[44,8]]},"126":{"position":[[41,8]]},"207":{"position":[[586,9]]},"224":{"position":[[967,8],[1400,8],[2593,9],[3391,8],[3649,9],[4294,8],[4512,9]]},"228":{"position":[[161,8],[396,9]]},"232":{"position":[[1312,8],[1385,9],[2834,9]]},"234":{"position":[[670,9],[727,9],[1078,8]]},"238":{"position":[[89,8],[142,8],[281,8]]},"240":{"position":[[204,8],[258,8],[312,8],[396,8]]},"244":{"position":[[568,8]]}}}],["exceeded",{"_index":1547,"t":{"108":{"position":[[959,8]]}}}],["excel",{"_index":279,"t":{"17":{"position":[[105,5]]}}}],["excellent",{"_index":1113,"t":{"59":{"position":[[617,9]]}}}],["except",{"_index":942,"t":{"53":{"position":[[1458,6]]},"90":{"position":[[517,6]]},"108":{"position":[[363,6]]},"192":{"position":[[2003,6]]},"258":{"position":[[1287,6]]}}}],["exception",{"_index":1506,"t":{"108":{"position":[[126,10]]},"112":{"position":[[124,10]]},"114":{"position":[[25,9]]},"192":{"position":[[2010,9]]},"258":{"position":[[1294,9]]}}}],["exceptions",{"_index":1501,"t":{"106":{"position":[[195,11]]},"110":{"position":[[77,10]]},"112":{"position":[[24,10],[108,10]]},"116":{"position":[[4,10]]},"118":{"position":[[14,11]]},"120":{"position":[[23,11]]},"122":{"position":[[304,10]]}}}],["excited",{"_index":628,"t":{"33":{"position":[[308,7]]}}}],["excluded",{"_index":77,"t":{"4":{"position":[[615,9]]}}}],["execute",{"_index":1619,"t":{"124":{"position":[[1702,7]]},"200":{"position":[[265,7],[298,7]]}}}],["executing",{"_index":1624,"t":{"124":{"position":[[1855,10]]}}}],["execution",{"_index":910,"t":{"53":{"position":[[240,9]]}}}],["exemplifies",{"_index":363,"t":{"19":{"position":[[1130,11]]}}}],["exist",{"_index":441,"t":{"21":{"position":[[1547,5]]}}}],["existing",{"_index":612,"t":{"33":{"position":[[122,8]]},"137":{"position":[[89,8]]},"147":{"position":[[151,8]]},"181":{"position":[[260,8]]}}}],["exists",{"_index":1648,"t":{"137":{"position":[[184,7]]},"224":{"position":[[1362,6]]},"232":{"position":[[1712,6]]}}}],["exited",{"_index":2005,"t":{"200":{"position":[[1403,6]]}}}],["expect",{"_index":1552,"t":{"112":{"position":[[44,6]]}}}],["expectations",{"_index":58,"t":{"4":{"position":[[356,13]]}}}],["expected",{"_index":1444,"t":{"98":{"position":[[227,8]]},"102":{"position":[[613,9]]},"122":{"position":[[56,9]]}}}],["expecting",{"_index":282,"t":{"17":{"position":[[160,9]]}}}],["expects",{"_index":1474,"t":{"102":{"position":[[12,7]]}}}],["experience",{"_index":582,"t":{"29":{"position":[[148,11]]},"186":{"position":[[1623,10],[2112,11]]}}}],["explaining",{"_index":26,"t":{"2":{"position":[[305,10]]}}}],["explanations",{"_index":86,"t":{"6":{"position":[[92,12]]}}}],["explore",{"_index":276,"t":{"17":{"position":[[15,7]]},"126":{"position":[[0,7]]},"186":{"position":[[1381,7]]}}}],["exploring",{"_index":1320,"t":{"78":{"position":[[1052,9]]}}}],["exponential",{"_index":1569,"t":{"118":{"position":[[53,11]]}}}],["export",{"_index":1421,"t":{"92":{"position":[[286,6]]},"156":{"position":[[260,6]]}}}],["exposition",{"_index":2137,"t":{"222":{"position":[[2924,10]]}}}],["expression",{"_index":1068,"t":{"55":{"position":[[3423,10]]}}}],["extending",{"_index":1097,"t":{"59":{"position":[[0,9]]}}}],["externally",{"_index":1192,"t":{"65":{"position":[[662,11]]}}}],["extinguisher",{"_index":91,"t":{"6":{"position":[[182,12]]},"8":{"position":[[393,12],[467,13]]}}}],["extra",{"_index":233,"t":{"12":{"position":[[742,5]]},"276":{"position":[[292,5]]}}}],["extremely",{"_index":894,"t":{"51":{"position":[[1269,9],[1405,9]]},"317":{"position":[[11,9]]}}}],["f",{"_index":2829,"t":{"375":{"position":[[118,1]]},"379":{"position":[[166,1]]}}}],["f\"hourly",{"_index":1950,"t":{"192":{"position":[[2420,8]]}}}],["f\"{msg}\\n",{"_index":1956,"t":{"192":{"position":[[2708,10]]}}}],["f1",{"_index":2089,"t":{"222":{"position":[[1061,2]]}}}],["f_{n,p}(k",{"_index":2439,"t":{"232":{"position":[[1589,10]]}}}],["f_{n,p}(k).fn,p​(k)=j=0∑k​fn,p​(k",{"_index":2329,"t":{"226":{"position":[[1137,35]]}}}],["f_{n,p}(n",{"_index":2485,"t":{"234":{"position":[[963,9]]}}}],["faced",{"_index":324,"t":{"19":{"position":[[459,5]]}}}],["fact",{"_index":2161,"t":{"224":{"position":[[1057,5]]},"228":{"position":[[1015,4],[1481,5]]},"230":{"position":[[472,4]]}}}],["factory",{"_index":2062,"t":{"220":{"position":[[151,7]]}}}],["fail",{"_index":365,"t":{"19":{"position":[[1180,4]]},"240":{"position":[[1819,4]]}}}],["failing",{"_index":2567,"t":{"240":{"position":[[1962,7]]}}}],["fails",{"_index":2568,"t":{"240":{"position":[[2028,6],[2133,5],[2258,5]]}}}],["failure",{"_index":2570,"t":{"240":{"position":[[2050,7]]}}}],["fairly",{"_index":503,"t":{"25":{"position":[[375,6]]},"228":{"position":[[1642,6]]}}}],["falling",{"_index":1583,"t":{"120":{"position":[[184,7]]}}}],["false",{"_index":901,"t":{"51":{"position":[[1454,6]]},"55":{"position":[[1131,5]]},"222":{"position":[[464,5],[537,5]]}}}],["familiar",{"_index":2136,"t":{"222":{"position":[[2778,8]]}}}],["fancy",{"_index":1142,"t":{"63":{"position":[[39,5]]}}}],["far",{"_index":2165,"t":{"224":{"position":[[1149,3]]}}}],["fast",{"_index":744,"t":{"41":{"position":[[90,4]]},"65":{"position":[[346,5],[478,4]]},"124":{"position":[[1732,4]]}}}],["fastapi",{"_index":2853,"t":{"381":{"position":[[231,7]]}}}],["faster",{"_index":824,"t":{"45":{"position":[[899,6]]},"47":{"position":[[872,6]]},"90":{"position":[[557,6]]},"124":{"position":[[544,7]]},"152":{"position":[[622,6]]}}}],["features",{"_index":623,"t":{"33":{"position":[[233,8]]},"35":{"position":[[173,9]]},"39":{"position":[[12,9]]},"43":{"position":[[53,9]]},"57":{"position":[[782,9]]},"104":{"position":[[159,8]]},"313":{"position":[[395,9]]}}}],["fedora",{"_index":2735,"t":{"274":{"position":[[194,6]]}}}],["feel",{"_index":776,"t":{"43":{"position":[[200,4]]},"61":{"position":[[322,4]]},"381":{"position":[[287,4]]}}}],["fence",{"_index":107,"t":{"6":{"position":[[384,5],[422,5]]}}}],["few",{"_index":173,"t":{"10":{"position":[[18,3]]},"12":{"position":[[245,3]]},"55":{"position":[[1436,3]]},"67":{"position":[[711,3]]},"69":{"position":[[378,3]]},"147":{"position":[[105,3]]},"150":{"position":[[49,3]]},"207":{"position":[[551,3]]},"222":{"position":[[1844,3]]},"355":{"position":[[154,3]]}}}],["fewer",{"_index":2324,"t":{"226":{"position":[[983,5]]},"232":{"position":[[327,5]]}}}],["ffmpeg",{"_index":1971,"t":{"198":{"position":[[126,6],[175,6],[213,6]]},"200":{"position":[[69,6]]}}}],["fi",{"_index":1246,"t":{"67":{"position":[[530,2],[1033,2]]}}}],["fiction",{"_index":2163,"t":{"224":{"position":[[1096,8],[1135,7]]}}}],["fiducial",{"_index":98,"t":{"6":{"position":[[288,8]]}}}],["field",{"_index":1337,"t":{"82":{"position":[[488,5]]}}}],["fields",{"_index":1000,"t":{"55":{"position":[[389,7]]}}}],["figure",{"_index":2098,"t":{"222":{"position":[[1363,6],[2465,6]]},"224":{"position":[[4121,6]]},"228":{"position":[[771,6],[1313,6],[2380,6],[3107,6]]},"236":{"position":[[1071,6]]},"240":{"position":[[2979,6]]},"248":{"position":[[513,6]]}}}],["file",{"_index":548,"t":{"27":{"position":[[597,4]]},"43":{"position":[[213,4]]},"63":{"position":[[638,4]]},"67":{"position":[[36,5],[289,4]]},"150":{"position":[[258,4]]},"156":{"position":[[533,4]]},"200":{"position":[[223,4]]},"254":{"position":[[107,4]]},"373":{"position":[[8,4],[103,5]]},"379":{"position":[[229,5]]}}}],["file=discord.file(fpath",{"_index":1084,"t":{"57":{"position":[[606,25]]}}}],["files",{"_index":1171,"t":{"65":{"position":[[197,6]]},"104":{"position":[[339,5],[351,5]]}}}],["filtering",{"_index":949,"t":{"53":{"position":[[1810,9]]}}}],["finally",{"_index":572,"t":{"27":{"position":[[1192,8]]},"35":{"position":[[649,7]]}}}],["find",{"_index":312,"t":{"19":{"position":[[182,4]]},"25":{"position":[[931,4]]},"65":{"position":[[160,4]]},"67":{"position":[[1001,4]]},"76":{"position":[[21,4]]},"137":{"position":[[81,4]]},"163":{"position":[[39,4]]},"202":{"position":[[73,4]]},"222":{"position":[[1954,4]]},"230":{"position":[[351,4]]},"232":{"position":[[1925,4],[2251,4],[2499,4]]},"240":{"position":[[472,4],[844,4]]},"353":{"position":[[99,4]]}}}],["finding",{"_index":731,"t":{"39":{"position":[[540,7]]}}}],["fine",{"_index":1203,"t":{"65":{"position":[[849,4]]}}}],["finicky",{"_index":1265,"t":{"67":{"position":[[1049,8]]}}}],["finish",{"_index":1273,"t":{"69":{"position":[[400,6]]}}}],["finished",{"_index":1623,"t":{"124":{"position":[[1846,8]]}}}],["finite",{"_index":2209,"t":{"224":{"position":[[2574,6],[3579,6],[4189,6]]},"226":{"position":[[100,6]]}}}],["fire",{"_index":71,"t":{"4":{"position":[[555,5],[643,4],[716,6]]},"6":{"position":[[177,4]]},"8":{"position":[[388,4],[462,4]]}}}],["firmware",{"_index":2798,"t":{"359":{"position":[[108,8]]}}}],["first",{"_index":275,"t":{"17":{"position":[[9,5]]},"23":{"position":[[193,5],[259,5],[573,5]]},"25":{"position":[[683,6]]},"27":{"position":[[627,5]]},"55":{"position":[[1843,5]]},"67":{"position":[[978,5]]},"147":{"position":[[76,5]]},"152":{"position":[[16,5],[421,5],[458,5]]},"192":{"position":[[0,6]]},"212":{"position":[[307,5]]},"224":{"position":[[73,5]]},"232":{"position":[[210,6]]},"240":{"position":[[946,5]]},"258":{"position":[[0,6]]}}}],["five",{"_index":8,"t":{"2":{"position":[[85,4]]}}}],["fixed",{"_index":1101,"t":{"59":{"position":[[206,5]]},"224":{"position":[[1470,5]]}}}],["flag",{"_index":381,"t":{"21":{"position":[[171,4],[1331,4]]}}}],["flagged",{"_index":198,"t":{"12":{"position":[[29,7]]},"41":{"position":[[302,7]]}}}],["flagging",{"_index":424,"t":{"21":{"position":[[1053,8]]}}}],["flames",{"_index":76,"t":{"4":{"position":[[604,6],[686,8]]}}}],["flash",{"_index":1217,"t":{"65":{"position":[[1116,5]]},"67":{"position":[[62,5]]}}}],["flashed",{"_index":1173,"t":{"65":{"position":[[301,7]]}}}],["flavors",{"_index":1205,"t":{"65":{"position":[[893,7],[1167,7],[1576,7]]}}}],["flexibility",{"_index":879,"t":{"51":{"position":[[799,11]]}}}],["flexible",{"_index":895,"t":{"51":{"position":[[1292,8]]}}}],["flipping",{"_index":2295,"t":{"226":{"position":[[298,8]]}}}],["flips",{"_index":2291,"t":{"226":{"position":[[225,6]]},"234":{"position":[[41,5]]}}}],["float",{"_index":1991,"t":{"200":{"position":[[684,5]]}}}],["floats",{"_index":1458,"t":{"100":{"position":[[194,8]]}}}],["floor",{"_index":2063,"t":{"220":{"position":[[159,7]]}}}],["flow",{"_index":1046,"t":{"55":{"position":[[1701,4],[2586,4],[3083,4]]}}}],["flowcharts",{"_index":1040,"t":{"55":{"position":[[1443,11]]}}}],["fn,p(k",{"_index":2436,"t":{"232":{"position":[[1534,9]]}}}],["fn,p(k)=(nk)pk(1−p)n−k.f_{n,p}(k",{"_index":2313,"t":{"226":{"position":[[679,33]]}}}],["fn,p(k)=∑j=0kfn,p(k).f_{n,p}(k",{"_index":2326,"t":{"226":{"position":[[1088,31]]}}}],["fn,p(k)f_{n,p}(k)fn,p​(k",{"_index":2416,"t":{"232":{"position":[[258,26]]}}}],["fn,p(k)≥δf_{n,p}(k",{"_index":2449,"t":{"232":{"position":[[2291,19]]}}}],["fn,p(n−k",{"_index":2483,"t":{"234":{"position":[[896,11]]}}}],["fn=100,p(k=80)f_{n=100,p}(k=80)fn=100,p​(k=80",{"_index":2444,"t":{"232":{"position":[[2021,46]]}}}],["focus",{"_index":802,"t":{"45":{"position":[[475,5]]},"47":{"position":[[448,5]]},"55":{"position":[[3602,5]]}}}],["follow",{"_index":575,"t":{"29":{"position":[[25,6]]},"110":{"position":[[39,6]]},"150":{"position":[[493,6]]},"204":{"position":[[45,6]]}}}],["followed",{"_index":1716,"t":{"159":{"position":[[273,8]]}}}],["following",{"_index":302,"t":{"19":{"position":[[13,9],[1072,9]]},"78":{"position":[[101,9]]},"122":{"position":[[183,9]]},"169":{"position":[[82,9]]},"200":{"position":[[328,9]]},"262":{"position":[[25,9]]},"264":{"position":[[90,9]]},"266":{"position":[[50,9]]},"268":{"position":[[89,9]]},"270":{"position":[[74,9]]},"282":{"position":[[25,9]]},"284":{"position":[[90,9]]},"286":{"position":[[50,9]]},"288":{"position":[[89,9]]},"290":{"position":[[74,9]]},"300":{"position":[[25,9]]},"302":{"position":[[97,9]]},"304":{"position":[[50,9]]},"323":{"position":[[25,9]]},"325":{"position":[[96,9]]},"327":{"position":[[50,9]]},"337":{"position":[[25,9]]},"339":{"position":[[90,9]]},"341":{"position":[[50,9]]},"343":{"position":[[89,9]]},"345":{"position":[[74,9]]},"357":{"position":[[22,9]]},"359":{"position":[[16,9]]}}}],["follows",{"_index":1446,"t":{"98":{"position":[[306,8]]},"222":{"position":[[2943,7]]},"240":{"position":[[1764,8]]},"276":{"position":[[265,7]]}}}],["fooled",{"_index":2280,"t":{"224":{"position":[[4619,6]]}}}],["forbidden",{"_index":1537,"t":{"108":{"position":[[774,10]]}}}],["force",{"_index":1650,"t":{"137":{"position":[[213,5]]},"317":{"position":[[488,5]]}}}],["foreseeable",{"_index":162,"t":{"8":{"position":[[598,11]]}}}],["form",{"_index":1996,"t":{"200":{"position":[[916,4]]},"224":{"position":[[4097,4]]}}}],["formal",{"_index":2413,"t":{"232":{"position":[[115,6],[1222,6]]}}}],["format",{"_index":1450,"t":{"100":{"position":[[90,6]]},"102":{"position":[[222,6]]},"317":{"position":[[220,6],[369,7]]}}}],["formats",{"_index":1426,"t":{"94":{"position":[[49,8]]}}}],["formatted_time",{"_index":1947,"t":{"192":{"position":[[2356,14],[2441,17]]}}}],["formula",{"_index":2243,"t":{"224":{"position":[[3353,7]]}}}],["formulate",{"_index":392,"t":{"21":{"position":[[348,9]]}}}],["fortunately",{"_index":1072,"t":{"55":{"position":[[3563,12]]},"59":{"position":[[593,12]]}}}],["forward",{"_index":1322,"t":{"80":{"position":[[280,7]]}}}],["found",{"_index":1542,"t":{"108":{"position":[[854,6],[892,5]]},"222":{"position":[[1506,5]]}}}],["four",{"_index":2385,"t":{"228":{"position":[[2573,4]]},"240":{"position":[[1802,4],[1950,4],[2080,4]]}}}],["frac",{"_index":2614,"t":{"242":{"position":[[968,6]]}}}],["fraction",{"_index":2143,"t":{"224":{"position":[[234,8],[351,8],[2863,8],[2971,8]]},"232":{"position":[[861,8]]},"242":{"position":[[135,8]]}}}],["frac{1}{n",{"_index":2230,"t":{"224":{"position":[[3055,11]]}}}],["frac{\\text{acc}^+(h",{"_index":2528,"t":{"238":{"position":[[1192,21]]}}}],["frac{p(1",{"_index":2601,"t":{"242":{"position":[[658,9]]}}}],["frame",{"_index":644,"t":{"35":{"position":[[0,5],[594,5],[641,5]]},"39":{"position":[[896,5]]},"41":{"position":[[68,5],[665,5],[691,5],[716,5]]},"82":{"position":[[1181,5],[1275,5]]},"98":{"position":[[400,5],[433,5],[471,6],[489,5]]},"192":{"position":[[496,5]]},"200":{"position":[[167,5],[759,5]]},"258":{"position":[[383,5]]}}}],["framegrab",{"_index":630,"t":{"33":{"position":[[329,10],[422,9]]},"35":{"position":[[355,9],[767,9]]},"39":{"position":[[22,9],[688,9]]},"41":{"position":[[441,9]]},"43":{"position":[[19,9],[182,10]]},"59":{"position":[[649,10]]},"65":{"position":[[489,9]]},"104":{"position":[[74,9],[93,9],[218,9]]}}}],["framegrabber",{"_index":662,"t":{"35":{"position":[[372,12]]},"39":{"position":[[705,12]]},"41":{"position":[[458,13]]}}}],["framegrabber.autodiscover",{"_index":735,"t":{"39":{"position":[[729,27]]}}}],["framegrabber.create_grabber(config",{"_index":759,"t":{"41":{"position":[[534,35]]}}}],["framegrabber.create_grabber_yaml(config",{"_index":674,"t":{"35":{"position":[[553,40]]}}}],["frames",{"_index":633,"t":{"33":{"position":[[390,6]]},"41":{"position":[[150,7]]}}}],["free",{"_index":255,"t":{"14":{"position":[[89,4],[175,4]]},"23":{"position":[[104,4]]},"43":{"position":[[205,4]]},"61":{"position":[[327,4]]},"69":{"position":[[682,4]]},"71":{"position":[[68,4],[146,4]]},"381":{"position":[[292,4]]}}}],["frequency",{"_index":1099,"t":{"59":{"position":[[99,9]]}}}],["frequentist",{"_index":2668,"t":{"250":{"position":[[21,11]]}}}],["frequently",{"_index":955,"t":{"53":{"position":[[1931,10]]}}}],["front",{"_index":46,"t":{"4":{"position":[[189,5]]},"8":{"position":[[228,5]]},"35":{"position":[[404,5]]}}}],["full",{"_index":680,"t":{"35":{"position":[[710,4]]},"57":{"position":[[945,4]]},"82":{"position":[[169,4]]},"124":{"position":[[1224,7]]},"161":{"position":[[214,4]]},"212":{"position":[[121,6]]},"224":{"position":[[3628,4],[4244,4],[4491,4]]}}}],["fully",{"_index":108,"t":{"6":{"position":[[390,5]]},"65":{"position":[[570,5]]}}}],["fun",{"_index":828,"t":{"49":{"position":[[72,3],[773,3]]},"55":{"position":[[3548,3]]},"61":{"position":[[206,3]]}}}],["function",{"_index":996,"t":{"55":{"position":[[332,8]]},"84":{"position":[[471,8]]},"192":{"position":[[385,8],[650,8],[2971,9],[3234,9]]},"224":{"position":[[935,8],[1850,9],[3251,8]]},"226":{"position":[[652,8],[796,8],[829,8],[1603,8]]},"232":{"position":[[248,9]]},"258":{"position":[[272,8],[537,8],[1510,9],[1663,9]]}}}],["functional",{"_index":1579,"t":{"120":{"position":[[98,10]]}}}],["functionality",{"_index":989,"t":{"55":{"position":[[89,14]]},"59":{"position":[[14,13]]},"317":{"position":[[144,14]]}}}],["functions",{"_index":2331,"t":{"226":{"position":[[1224,9]]}}}],["funny",{"_index":839,"t":{"49":{"position":[[363,5]]}}}],["further",{"_index":350,"t":{"19":{"position":[[898,7]]},"124":{"position":[[1953,7]]}}}],["furthermore",{"_index":915,"t":{"53":{"position":[[482,12]]}}}],["future",{"_index":1667,"t":{"147":{"position":[[309,7]]},"150":{"position":[[468,6]]}}}],["g",{"_index":1982,"t":{"200":{"position":[[90,1]]}}}],["garage",{"_index":321,"t":{"19":{"position":[[433,6],[492,6]]},"21":{"position":[[828,6]]}}}],["gas",{"_index":74,"t":{"4":{"position":[[593,3],[675,3]]}}}],["gather",{"_index":507,"t":{"25":{"position":[[427,8]]},"152":{"position":[[427,6]]}}}],["gaussian",{"_index":2135,"t":{"222":{"position":[[2738,8]]}}}],["gave",{"_index":2430,"t":{"232":{"position":[[1058,4]]}}}],["ge",{"_index":2440,"t":{"232":{"position":[[1600,3],[2311,3]]},"234":{"position":[[978,3]]},"242":{"position":[[912,3]]}}}],["gear",{"_index":101,"t":{"6":{"position":[[318,4]]}}}],["gen",{"_index":260,"t":{"14":{"position":[[158,3]]},"63":{"position":[[481,4]]},"65":{"position":[[153,3]]},"71":{"position":[[129,3]]}}}],["general",{"_index":869,"t":{"51":{"position":[[415,7]]}}}],["generally",{"_index":1614,"t":{"124":{"position":[[1576,9]]},"276":{"position":[[72,9]]}}}],["generated",{"_index":1629,"t":{"124":{"position":[[2191,9]]},"167":{"position":[[220,9]]}}}],["generative",{"_index":1695,"t":{"154":{"position":[[58,10]]}}}],["generic",{"_index":637,"t":{"33":{"position":[[441,7]]},"35":{"position":[[324,7]]}}}],["generic_usb",{"_index":660,"t":{"35":{"position":[[253,11],[434,11]]},"37":{"position":[[659,11]]}}}],["get_image",{"_index":1514,"t":{"108":{"position":[[341,12]]}}}],["get_image_query",{"_index":1362,"t":{"84":{"position":[[169,16]]},"147":{"position":[[375,17]]}}}],["get_latest_frame.sh",{"_index":1980,"t":{"200":{"position":[[36,20],[356,19],[1778,19]]}}}],["get_off_couch.mp3",{"_index":2687,"t":{"254":{"position":[[119,18]]}}}],["get_or_create_detector(name",{"_index":1645,"t":{"137":{"position":[[25,28]]}}}],["get_state(self",{"_index":1033,"t":{"55":{"position":[[1250,15]]}}}],["get_token_from_secure_location",{"_index":1744,"t":{"163":{"position":[[718,32]]}}}],["gets",{"_index":1723,"t":{"161":{"position":[[176,4]]}}}],["getting",{"_index":524,"t":{"27":{"position":[[4,7]]},"55":{"position":[[3167,7]]}}}],["ggc_user",{"_index":2833,"t":{"377":{"position":[[59,8]]}}}],["gige",{"_index":641,"t":{"33":{"position":[[503,4]]}}}],["git",{"_index":825,"t":{"45":{"position":[[911,3]]},"47":{"position":[[884,3]]},"381":{"position":[[33,3]]}}}],["github",{"_index":778,"t":{"43":{"position":[[234,6]]},"61":{"position":[[342,6]]},"71":{"position":[[316,7]]},"126":{"position":[[14,6]]},"308":{"position":[[75,6]]},"331":{"position":[[73,6]]},"361":{"position":[[97,6],[272,6]]}}}],["give",{"_index":193,"t":{"10":{"position":[[349,4]]},"14":{"position":[[19,4]]},"167":{"position":[[113,4]]},"232":{"position":[[103,4],[1213,4]]}}}],["given",{"_index":2351,"t":{"228":{"position":[[297,5]]},"232":{"position":[[1284,6]]},"234":{"position":[[637,6]]},"236":{"position":[[83,5],[202,5]]}}}],["gives",{"_index":1087,"t":{"57":{"position":[[724,5]]},"124":{"position":[[12,5]]},"232":{"position":[[285,5]]}}}],["giving",{"_index":857,"t":{"49":{"position":[[659,6]]},"240":{"position":[[2290,6]]}}}],["gl",{"_index":553,"t":{"27":{"position":[[719,2]]},"92":{"position":[[169,2]]},"96":{"position":[[151,2]]},"108":{"position":[[204,2]]},"124":{"position":[[969,2]]},"137":{"position":[[346,2]]},"139":{"position":[[36,2]]},"141":{"position":[[36,2]]},"143":{"position":[[245,2]]},"145":{"position":[[36,2]]},"147":{"position":[[651,2]]},"150":{"position":[[106,2]]},"156":{"position":[[381,2]]},"163":{"position":[[485,2],[751,2]]},"192":{"position":[[1392,2]]},"200":{"position":[[1115,2]]},"258":{"position":[[974,2]]}}}],["gl.add_label(image_query",{"_index":1676,"t":{"147":{"position":[[951,25]]}}}],["gl.ask_async(detector=detector",{"_index":1357,"t":{"82":{"position":[[1217,31]]},"86":{"position":[[670,31]]}}}],["gl.ask_ml(detector=detector",{"_index":567,"t":{"27":{"position":[[1070,28]]}}}],["gl.create_detector(name=\"your_detector_name",{"_index":1652,"t":{"137":{"position":[[376,45]]}}}],["gl.get_detector(id=\"your_detector_id",{"_index":1653,"t":{"139":{"position":[[66,38]]}}}],["gl.get_image_query(id=\"iq_your_image_query_id",{"_index":1662,"t":{"143":{"position":[[278,47]]}}}],["gl.get_image_query(id=image_query.id",{"_index":1389,"t":{"86":{"position":[[850,37]]}}}],["gl.get_image_query(id=image_query_id",{"_index":1369,"t":{"84":{"position":[[743,37]]}}}],["gl.get_or_create_detector",{"_index":558,"t":{"27":{"position":[[869,26]]},"108":{"position":[[232,26]]},"192":{"position":[[1422,26]]},"207":{"position":[[213,26]]}}}],["gl.get_or_create_detector(\"dog",{"_index":2706,"t":{"258":{"position":[[1004,30]]}}}],["gl.get_or_create_detector(name=\"doorway",{"_index":1672,"t":{"147":{"position":[[674,41]]},"150":{"position":[[131,41]]},"156":{"position":[[406,41]]}}}],["gl.get_or_create_detector(name=\"path",{"_index":1433,"t":{"96":{"position":[[176,36]]}}}],["gl.get_or_create_detector(name=\"trash",{"_index":1605,"t":{"124":{"position":[[1160,39]]}}}],["gl.get_or_create_detector(name=\"your_detector_name",{"_index":1348,"t":{"82":{"position":[[989,52]]},"84":{"position":[[576,52]]},"86":{"position":[[537,52]]}}}],["gl.get_or_create_detector(name=detector_name",{"_index":1998,"t":{"200":{"position":[[1145,45]]}}}],["gl.list_detectors",{"_index":1656,"t":{"141":{"position":[[101,19]]}}}],["gl.list_detectors(page=1",{"_index":1659,"t":{"141":{"position":[[178,25]]}}}],["gl.list_image_queries",{"_index":1664,"t":{"145":{"position":[[105,23]]}}}],["gl.list_image_queries(page=1",{"_index":1665,"t":{"145":{"position":[[190,29]]}}}],["gl.submit_image_query(d",{"_index":1513,"t":{"108":{"position":[[316,24]]}}}],["gl.submit_image_query(det",{"_index":1438,"t":{"96":{"position":[[303,26]]}}}],["gl.submit_image_query(detector",{"_index":1447,"t":{"98":{"position":[[439,31]]},"100":{"position":[[475,31]]}}}],["gl.submit_image_query(detector=d",{"_index":1609,"t":{"124":{"position":[[1357,33],[2109,33]]},"147":{"position":[[904,33]]}}}],["gl.submit_image_query(detector=det",{"_index":1680,"t":{"150":{"position":[[296,35]]},"156":{"position":[[571,35]]}}}],["gl.submit_image_query(detector=detector",{"_index":2007,"t":{"200":{"position":[[1502,40]]},"207":{"position":[[344,40]]}}}],["gl.submit_image_query(image=image",{"_index":1935,"t":{"192":{"position":[[1940,34]]},"258":{"position":[[1111,34]]}}}],["gl.wait_for_confident_result(id=image_query.id",{"_index":1390,"t":{"86":{"position":[[1064,47]]}}}],["gl_cameras",{"_index":697,"t":{"37":{"position":[[321,11]]}}}],["go",{"_index":1169,"t":{"65":{"position":[[108,2]]},"272":{"position":[[183,3]]},"276":{"position":[[153,2]]},"292":{"position":[[183,3]]},"347":{"position":[[189,3]]},"355":{"position":[[166,2]]}}}],["goal",{"_index":625,"t":{"33":{"position":[[254,4]]},"224":{"position":[[2095,4],[4598,4]]}}}],["goes",{"_index":2596,"t":{"242":{"position":[[565,4]]}}}],["good",{"_index":178,"t":{"10":{"position":[[68,4]]},"12":{"position":[[210,4]]},"65":{"position":[[771,4]]},"194":{"position":[[63,4]]},"207":{"position":[[520,4],[555,4]]},"228":{"position":[[1047,4],[1649,4]]},"272":{"position":[[175,4]]},"292":{"position":[[175,4]]},"347":{"position":[[181,4]]}}}],["gpu",{"_index":1230,"t":{"65":{"position":[[1961,4]]}}}],["grab",{"_index":632,"t":{"33":{"position":[[385,4]]}}}],["grabber",{"_index":645,"t":{"35":{"position":[[6,7],[543,7],[669,7]]},"39":{"position":[[815,7],[902,7]]},"41":{"position":[[524,7]]}}}],["grabber.grab",{"_index":675,"t":{"35":{"position":[[602,14]]},"41":{"position":[[673,14]]}}}],["grabber.release",{"_index":679,"t":{"35":{"position":[[684,17]]},"39":{"position":[[917,17]]}}}],["grabbers",{"_index":734,"t":{"39":{"position":[[718,8]]}}}],["grabbers.values",{"_index":738,"t":{"39":{"position":[[826,18]]}}}],["grabbing",{"_index":1295,"t":{"78":{"position":[[118,8]]}}}],["gracefully",{"_index":1500,"t":{"106":{"position":[[177,10]]},"120":{"position":[[47,10]]},"122":{"position":[[154,10]]},"313":{"position":[[325,10]]}}}],["gray",{"_index":2254,"t":{"224":{"position":[[3600,4],[4033,4],[4210,4]]}}}],["great",{"_index":250,"t":{"14":{"position":[[30,5]]},"63":{"position":[[268,5]]},"224":{"position":[[4430,6]]}}}],["greater",{"_index":2392,"t":{"228":{"position":[[3324,8]]},"230":{"position":[[823,7]]},"240":{"position":[[1976,7],[2155,7]]},"248":{"position":[[469,7]]},"250":{"position":[[485,7]]}}}],["greengrass",{"_index":2821,"t":{"371":{"position":[[74,10]]},"377":{"position":[[76,10],[107,10],[175,10],[246,10],[359,10]]}}}],["grime",{"_index":792,"t":{"45":{"position":[[312,6]]},"47":{"position":[[285,6]]},"49":{"position":[[33,5],[806,5]]},"51":{"position":[[4,5],[133,5],[284,5],[464,5],[595,5],[1168,5],[1381,5]]},"53":{"position":[[4,5]]},"55":{"position":[[4,5],[1033,5],[2328,5],[2925,5]]},"57":{"position":[[4,5]]},"61":{"position":[[408,5],[489,5]]}}}],["ground",{"_index":189,"t":{"10":{"position":[[288,7]]},"12":{"position":[[249,6]]},"222":{"position":[[1626,6],[1675,6],[1848,6],[2881,6]]},"244":{"position":[[547,6]]}}}],["groundlight",{"_index":5,"t":{"2":{"position":[[53,11],[111,11]]},"14":{"position":[[143,11]]},"17":{"position":[[47,11]]},"23":{"position":[[114,12],[265,11],[354,11]]},"25":{"position":[[0,11],[518,11],[628,11],[896,12]]},"27":{"position":[[228,11],[475,11],[572,12],[673,11],[724,13]]},"29":{"position":[[219,12],[357,11]]},"31":{"position":[[109,11],[133,11],[266,12]]},"33":{"position":[[3,12]]},"45":{"position":[[0,11],[39,11],[284,11],[540,11],[850,11]]},"47":{"position":[[12,11],[257,11],[513,11],[823,11]]},"49":{"position":[[84,11],[437,11],[834,11]]},"51":{"position":[[57,11],[219,11],[497,11],[1106,11],[1544,11]]},"53":{"position":[[814,11],[1275,11],[1794,11],[1985,13]]},"55":{"position":[[3576,11]]},"57":{"position":[[1142,12]]},"59":{"position":[[133,12],[189,11],[580,12]]},"61":{"position":[[88,11]]},"63":{"position":[[466,11]]},"65":{"position":[[138,11],[554,11],[1223,11],[1353,11],[1685,11]]},"69":{"position":[[100,11],[355,11],[634,11]]},"71":{"position":[[114,11]]},"74":{"position":[[0,11],[155,12],[358,11]]},"76":{"position":[[80,11]]},"78":{"position":[[74,12],[216,12],[311,11],[597,12],[632,11],[771,11],[819,11]]},"80":{"position":[[0,11],[343,12]]},"82":{"position":[[56,11],[395,12],[913,11],[932,11],[1284,11]]},"84":{"position":[[55,11],[534,11],[553,11],[813,11]]},"86":{"position":[[215,11],[473,11],[492,11],[739,11],[932,11],[1007,11],[1147,11]]},"90":{"position":[[272,11],[346,11],[490,11]]},"92":{"position":[[17,11],[103,11],[138,11],[157,11]]},"96":{"position":[[4,11],[98,11],[117,11],[156,13]]},"98":{"position":[[194,11],[498,11]]},"100":{"position":[[4,11]]},"102":{"position":[[0,11],[505,12],[559,11],[705,12]]},"106":{"position":[[36,11]]},"108":{"position":[[159,11],[192,11],[209,13]]},"110":{"position":[[22,11]]},"114":{"position":[[149,11]]},"122":{"position":[[330,11]]},"124":{"position":[[0,11],[900,11],[919,11],[974,13]]},"126":{"position":[[53,11]]},"128":{"position":[[54,11]]},"134":{"position":[[0,11]]},"137":{"position":[[315,11],[334,11],[351,13]]},"139":{"position":[[5,11],[24,11],[41,13]]},"141":{"position":[[5,11],[24,11],[41,13]]},"143":{"position":[[214,11],[233,11],[250,13]]},"145":{"position":[[5,11],[24,11],[41,13]]},"147":{"position":[[0,11],[582,11],[601,11],[656,13]]},"150":{"position":[[75,11],[94,11],[111,13]]},"156":{"position":[[12,11],[100,11],[129,11],[350,11],[369,11],[386,13]]},"159":{"position":[[11,11],[117,11]]},"161":{"position":[[237,11]]},"163":{"position":[[386,11],[405,11],[490,13],[584,11],[679,11],[698,11]]},"165":{"position":[[40,11]]},"167":{"position":[[15,11],[297,11]]},"171":{"position":[[254,11]]},"173":{"position":[[168,11]]},"186":{"position":[[45,11],[1897,11]]},"188":{"position":[[0,11]]},"190":{"position":[[69,11],[144,11]]},"192":{"position":[[21,11],[198,11],[217,11],[1397,13],[3004,11]]},"196":{"position":[[0,11]]},"198":{"position":[[69,11],[194,11]]},"200":{"position":[[390,11],[539,11],[558,11],[823,11],[1001,11],[1120,13]]},"202":{"position":[[15,11],[137,11]]},"204":{"position":[[331,11]]},"212":{"position":[[137,12]]},"222":{"position":[[3,12],[2141,12]]},"230":{"position":[[425,12]]},"244":{"position":[[3,12]]},"252":{"position":[[49,11]]},"254":{"position":[[0,11]]},"256":{"position":[[69,11],[117,11]]},"258":{"position":[[21,11],[183,11],[202,11],[979,13],[1543,11]]},"260":{"position":[[37,11],[67,11]]},"264":{"position":[[132,11]]},"266":{"position":[[15,11],[98,11],[204,11],[220,11]]},"268":{"position":[[16,11],[135,12]]},"270":{"position":[[27,11],[119,11],[180,11],[269,11]]},"276":{"position":[[827,12],[853,11]]},"278":{"position":[[36,11]]},"280":{"position":[[37,11],[67,11]]},"284":{"position":[[132,11]]},"286":{"position":[[15,11],[98,11],[204,11],[220,11]]},"288":{"position":[[16,11],[135,12]]},"290":{"position":[[27,11],[119,11],[180,11],[269,11]]},"296":{"position":[[36,11]]},"298":{"position":[[37,11],[83,11]]},"302":{"position":[[139,11]]},"304":{"position":[[15,11],[99,11],[175,11]]},"310":{"position":[[36,11]]},"313":{"position":[[4,11],[88,11]]},"315":{"position":[[92,11],[236,11],[278,11]]},"317":{"position":[[60,11]]},"321":{"position":[[37,11],[74,11]]},"325":{"position":[[138,11]]},"327":{"position":[[15,11],[99,11],[175,11]]},"333":{"position":[[36,11]]},"335":{"position":[[37,11],[69,11]]},"339":{"position":[[132,11]]},"341":{"position":[[15,11],[104,11],[210,11],[226,11]]},"343":{"position":[[16,11],[135,12]]},"345":{"position":[[27,11],[119,11],[180,11],[269,11]]},"351":{"position":[[36,11]]},"353":{"position":[[0,11]]},"355":{"position":[[68,11]]},"361":{"position":[[206,11]]},"363":{"position":[[39,11]]},"365":{"position":[[76,11]]},"367":{"position":[[87,11]]}}}],["groundlight's",{"_index":428,"t":{"21":{"position":[[1246,13]]},"25":{"position":[[831,13]]},"53":{"position":[[2163,13]]},"78":{"position":[[1177,13]]},"94":{"position":[[0,13]]},"154":{"position":[[0,13]]},"175":{"position":[[0,13]]},"177":{"position":[[12,13]]},"179":{"position":[[0,13]]},"181":{"position":[[0,13]]},"183":{"position":[[24,13]]},"207":{"position":[[5,13]]},"222":{"position":[[672,13],[818,13]]}}}],["groundlight(api_token=token",{"_index":1745,"t":{"163":{"position":[[756,28]]}}}],["groundlight(endpoint=\"http://localhost:6717",{"_index":1418,"t":{"92":{"position":[[174,45]]}}}],["groundlight.ai",{"_index":2814,"t":{"365":{"position":[[112,15]]}}}],["groundlight/stream",{"_index":2764,"t":{"306":{"position":[[85,18]]},"329":{"position":[[84,18]]}}}],["groundlight_api_token",{"_index":1534,"t":{"108":{"position":[[724,21]]},"156":{"position":[[198,21]]},"163":{"position":[[176,22],[463,21]]}}}],["groundlight_api_token=api_2gdxmflhji6l_example",{"_index":1703,"t":{"156":{"position":[[267,46]]}}}],["groundlight_endpoint",{"_index":1419,"t":{"92":{"position":[[238,20]]}}}],["groundlight_endpoint=http://localhost:6717",{"_index":1422,"t":{"92":{"position":[[293,42]]}}}],["groundlight’s",{"_index":801,"t":{"45":{"position":[[432,13]]},"47":{"position":[[405,13]]}}}],["group",{"_index":2841,"t":{"377":{"position":[[370,5]]}}}],["grows",{"_index":788,"t":{"45":{"position":[[169,5]]},"47":{"position":[[142,5]]}}}],["guarantees",{"_index":2407,"t":{"230":{"position":[[668,10]]},"250":{"position":[[225,10]]}}}],["guardian",{"_index":793,"t":{"45":{"position":[[319,9]]},"47":{"position":[[292,9]]},"49":{"position":[[39,9],[812,8]]},"51":{"position":[[10,8],[139,8],[290,8],[470,8],[1174,8],[1387,8]]},"53":{"position":[[10,8]]},"55":{"position":[[1039,8],[2334,8],[2931,8]]},"57":{"position":[[10,8]]},"61":{"position":[[414,8]]}}}],["guardian's",{"_index":986,"t":{"55":{"position":[[10,10]]}}}],["guardian’s",{"_index":870,"t":{"51":{"position":[[601,10]]}}}],["gui",{"_index":1211,"t":{"65":{"position":[[1012,3],[1253,3]]}}}],["guide",{"_index":468,"t":{"23":{"position":[[205,5]]},"202":{"position":[[44,6],[59,6]]},"204":{"position":[[90,6]]},"252":{"position":[[125,5]]},"260":{"position":[[5,5]]},"280":{"position":[[5,5]]},"298":{"position":[[5,5]]},"321":{"position":[[5,5]]},"335":{"position":[[5,5]]}}}],["guidelines",{"_index":779,"t":{"43":{"position":[[276,10]]}}}],["guides",{"_index":1290,"t":{"74":{"position":[[405,6]]},"78":{"position":[[18,6]]}}}],["h",{"_index":2525,"t":{"238":{"position":[[982,3]]},"240":{"position":[[767,4],[1288,4],[1370,4],[2641,4],[2826,4]]}}}],["h(x",{"_index":2202,"t":{"224":{"position":[[2357,6]]}}}],["h(x)=y",{"_index":2199,"t":{"224":{"position":[[2307,6]]}}}],["h(x)=yh(x",{"_index":2191,"t":{"224":{"position":[[2019,10]]}}}],["h(x_i",{"_index":2233,"t":{"224":{"position":[[3094,6]]},"238":{"position":[[893,6],[1022,6]]}}}],["h(xi)=yi",{"_index":2228,"t":{"224":{"position":[[3014,8]]}}}],["h).acc+​(h",{"_index":2542,"t":{"240":{"position":[[798,14]]}}}],["h)}{2}.accbal​(h)=2acc+(h)+acc−(h",{"_index":2530,"t":{"238":{"position":[[1228,37]]}}}],["hand",{"_index":1793,"t":{"177":{"position":[[186,4],[194,4]]},"240":{"position":[[30,5]]}}}],["handful",{"_index":811,"t":{"45":{"position":[[637,7]]},"47":{"position":[[610,7]]},"51":{"position":[[86,7],[647,7]]}}}],["handle",{"_index":974,"t":{"53":{"position":[[2784,6]]},"55":{"position":[[661,6],[729,6]]},"57":{"position":[[145,6]]},"78":{"position":[[534,6]]},"106":{"position":[[127,6],[188,6]]},"110":{"position":[[70,6]]},"120":{"position":[[35,6]]},"122":{"position":[[140,6],[273,6]]},"147":{"position":[[186,6]]}}}],["handled",{"_index":806,"t":{"45":{"position":[[552,7]]},"47":{"position":[[525,7]]}}}],["handles",{"_index":1115,"t":{"59":{"position":[[699,7]]}}}],["handling",{"_index":822,"t":{"45":{"position":[[836,9]]},"47":{"position":[[809,9]]},"57":{"position":[[485,8]]},"78":{"position":[[492,8]]},"118":{"position":[[5,8]]},"122":{"position":[[38,8]]},"161":{"position":[[291,8]]}}}],["hanger",{"_index":360,"t":{"19":{"position":[[1054,8],[1122,7]]}}}],["happen",{"_index":1627,"t":{"124":{"position":[[2087,7]]},"224":{"position":[[283,6]]}}}],["happens",{"_index":2164,"t":{"224":{"position":[[1112,7]]}}}],["happy",{"_index":1139,"t":{"63":{"position":[[0,5]]}}}],["hard",{"_index":1088,"t":{"57":{"position":[[765,4]]}}}],["hardcoding",{"_index":1730,"t":{"161":{"position":[[438,10]]}}}],["hardly",{"_index":549,"t":{"27":{"position":[[608,6]]}}}],["hardware",{"_index":1235,"t":{"67":{"position":[[168,8]]},"102":{"position":[[271,8]]},"317":{"position":[[454,9]]}}}],["hasn't",{"_index":1622,"t":{"124":{"position":[[1839,6]]}}}],["hassle",{"_index":261,"t":{"14":{"position":[[168,6]]},"71":{"position":[[139,6]]}}}],["hat{\\sigma",{"_index":2611,"t":{"242":{"position":[[888,14],[946,12],[1351,17]]}}}],["hat{p",{"_index":2608,"t":{"242":{"position":[[869,7],[985,8]]}}}],["hat{p}(1",{"_index":2615,"t":{"242":{"position":[[975,9]]}}}],["haven’t",{"_index":252,"t":{"14":{"position":[[50,7]]}}}],["having",{"_index":187,"t":{"10":{"position":[[261,6]]},"228":{"position":[[551,6]]}}}],["head",{"_index":1702,"t":{"156":{"position":[[112,4]]},"200":{"position":[[97,4]]}}}],["headless",{"_index":1208,"t":{"65":{"position":[[958,8],[1332,9],[1406,8],[1497,8]]},"69":{"position":[[43,8]]}}}],["heads",{"_index":2297,"t":{"226":{"position":[[338,5],[496,5],[579,6],[908,6],[989,5],[1388,6],[1451,5]]},"228":{"position":[[83,5]]},"232":{"position":[[333,5]]},"234":{"position":[[176,5],[222,5],[260,6]]}}}],["health",{"_index":1566,"t":{"116":{"position":[[179,6]]}}}],["healthy",{"_index":2131,"t":{"222":{"position":[[2639,7]]}}}],["height",{"_index":667,"t":{"35":{"position":[[495,7]]}}}],["help",{"_index":12,"t":{"2":{"position":[[145,4]]},"31":{"position":[[183,4]]},"49":{"position":[[480,5],[595,5]]},"55":{"position":[[2707,4],[3111,4]]},"114":{"position":[[90,4]]},"116":{"position":[[124,4]]},"118":{"position":[[145,4]]},"122":{"position":[[75,4]]},"128":{"position":[[254,4]]},"177":{"position":[[83,4]]},"179":{"position":[[223,4]]},"186":{"position":[[820,4]]},"260":{"position":[[16,4]]},"280":{"position":[[16,4]]},"298":{"position":[[16,4]]},"321":{"position":[[16,4]]},"335":{"position":[[16,4]]}}}],["helpful",{"_index":2111,"t":{"222":{"position":[[1962,7]]}}}],["helps",{"_index":172,"t":{"10":{"position":[[3,5]]},"163":{"position":[[204,5]]}}}],["here",{"_index":7,"t":{"2":{"position":[[76,4]]},"12":{"position":[[269,4]]},"21":{"position":[[245,4]]},"35":{"position":[[287,4]]},"41":{"position":[[403,4]]},"45":{"position":[[27,4]]},"47":{"position":[[0,4]]},"55":{"position":[[3294,4]]},"63":{"position":[[580,5]]},"82":{"position":[[188,6]]},"86":{"position":[[462,5]]},"161":{"position":[[258,4]]},"224":{"position":[[186,5],[3867,5]]},"228":{"position":[[859,5]]},"234":{"position":[[1030,4]]},"244":{"position":[[335,4]]},"252":{"position":[[0,4]]},"359":{"position":[[209,5],[260,5],[286,5],[328,5]]}}}],["here's",{"_index":1431,"t":{"96":{"position":[[74,6]]},"100":{"position":[[259,6]]},"102":{"position":[[956,6]]}}}],["here’s",{"_index":115,"t":{"6":{"position":[[464,6]]}}}],["hero",{"_index":856,"t":{"49":{"position":[[653,5]]}}}],["heroic",{"_index":1134,"t":{"61":{"position":[[461,6]]}}}],["hhh",{"_index":2184,"t":{"224":{"position":[[1860,4],[1964,3],[2050,3],[2177,4],[2235,3],[2565,3],[2894,3],[3821,4],[3873,3],[4480,3],[4761,3]]},"228":{"position":[[431,4]]},"240":{"position":[[333,3],[417,3]]}}}],["hhh's",{"_index":2224,"t":{"224":{"position":[[2929,5],[3533,5],[4392,5],[4645,5]]},"228":{"position":[[498,5],[2162,5],[3290,5]]}}}],["hidden",{"_index":307,"t":{"19":{"position":[[114,6],[263,6],[394,6]]}}}],["high",{"_index":1041,"t":{"55":{"position":[[1460,4],[1690,4]]},"152":{"position":[[130,4],[485,4]]},"222":{"position":[[1321,4]]},"224":{"position":[[620,5]]},"232":{"position":[[2902,6],[2912,4],[2988,5],[3039,5]]}}}],["high=1.0",{"_index":2472,"t":{"232":{"position":[[3098,9]]}}}],["high=255",{"_index":1468,"t":{"100":{"position":[[375,9]]}}}],["higher",{"_index":1613,"t":{"124":{"position":[[1523,6],[1550,6],[1594,6],[1610,6]]},"152":{"position":[[634,6]]},"156":{"position":[[60,7]]},"186":{"position":[[929,6]]},"188":{"position":[[35,6]]},"190":{"position":[[30,6]]},"196":{"position":[[35,6]]},"198":{"position":[[30,6]]},"228":{"position":[[1890,7],[2778,6]]},"254":{"position":[[35,6]]},"256":{"position":[[30,6]]},"260":{"position":[[106,7]]},"262":{"position":[[75,6]]},"264":{"position":[[32,6]]},"272":{"position":[[133,6]]},"280":{"position":[[106,7]]},"282":{"position":[[75,6]]},"284":{"position":[[32,6]]},"292":{"position":[[133,6]]},"298":{"position":[[122,7]]},"300":{"position":[[82,6]]},"302":{"position":[[32,6]]},"321":{"position":[[113,7]]},"323":{"position":[[81,6]]},"325":{"position":[[32,6]]},"335":{"position":[[108,7]]},"337":{"position":[[75,6]]},"339":{"position":[[32,6]]},"347":{"position":[[139,6]]}}}],["highest",{"_index":1804,"t":{"179":{"position":[[79,7]]}}}],["highlight",{"_index":303,"t":{"19":{"position":[[38,9]]}}}],["highly",{"_index":2092,"t":{"222":{"position":[[1133,6]]}}}],["hobby",{"_index":1148,"t":{"63":{"position":[[327,5]]}}}],["hold",{"_index":2490,"t":{"236":{"position":[[60,4],[175,4]]},"240":{"position":[[1827,4]]}}}],["holds",{"_index":2424,"t":{"232":{"position":[[886,5]]}}}],["home",{"_index":1147,"t":{"63":{"position":[[322,4]]},"252":{"position":[[69,4]]}}}],["homebrew",{"_index":2762,"t":{"294":{"position":[[89,8]]}}}],["hope",{"_index":248,"t":{"14":{"position":[[3,4]]},"244":{"position":[[746,4]]}}}],["host's",{"_index":2834,"t":{"377":{"position":[[140,6]]}}}],["hour",{"_index":1830,"t":{"186":{"position":[[319,5]]},"192":{"position":[[3101,5]]}}}],["hourly",{"_index":1873,"t":{"186":{"position":[[1957,6]]}}}],["hours",{"_index":602,"t":{"31":{"position":[[218,6]]},"132":{"position":[[281,6]]},"186":{"position":[[735,5]]},"192":{"position":[[1157,5]]}}}],["http",{"_index":1308,"t":{"78":{"position":[[558,4]]},"108":{"position":[[15,4],[559,4],[624,4]]}}}],["http://0.0.0.0:8000",{"_index":2854,"t":{"381":{"position":[[265,19]]}}}],["http://[your",{"_index":1277,"t":{"69":{"position":[[472,12]]}}}],["http://localhost:3000",{"_index":1280,"t":{"69":{"position":[[582,23]]},"381":{"position":[[168,21]]}}}],["https://app.groundlight.ai",{"_index":257,"t":{"14":{"position":[[105,27]]}}}],["https://app.groundlight.ai/reef/my",{"_index":1747,"t":{"165":{"position":[[63,34]]}}}],["https://bootstrap.pypa.io/get",{"_index":2757,"t":{"276":{"position":[[614,29]]}}}],["https://github.com/groundlight/esp32cam",{"_index":1636,"t":{"130":{"position":[[12,39]]},"361":{"position":[[107,39]]}}}],["https://github.com/groundlight/monitoring",{"_index":2849,"t":{"381":{"position":[[43,41]]}}}],["https://github.com/groundlight/raspberry",{"_index":1640,"t":{"132":{"position":[[12,40]]}}}],["https://github.com/groundlight/stream",{"_index":1631,"t":{"128":{"position":[[12,37]]}}}],["https://images.selfstorage.com/large",{"_index":1674,"t":{"147":{"position":[[757,37]]}}}],["https://iot.groundlight.ai/espcam",{"_index":2786,"t":{"353":{"position":[[110,34]]},"355":{"position":[[172,33]]}}}],["https://www.photos",{"_index":1600,"t":{"124":{"position":[[1000,19]]}}}],["https://www.youtube.com/watch?v=